for 循环和Java中是有一些差别的,Scala中for循环的表达式中可以写条件判断
for(i <-1 to2;j <- 1to 2) print(100*i+j+"")
println()
for(i <-1 to2;j <- 1to 2 if i!=j)print(100*i+ j + "")
println()
函数是有值的,函数都有一个返回值,通常情况函数的返回值为空,
def addA(x:Int) = x + 100
上面的语句所表达的意思就是,将接收到的Int类型的参数加上100 ,该函数的值也就是参数值+100。
val add = (x:Int)=> x + 200
add是一个常量,该常量通过一个匿名函数获取值,匿名函数也需要接受一个Int类型的参数。
def addA(x:Int) = x + 100 val add = (x:Int) => x+200 println("The result from addA : " + addA(2)) println("The result from add : " + add(2))
递归类型的函数必须要声明函数的返回值类型,其它的函数系统会自动推算出返回值类型。
def fac(n:Int) : Int = if (n<=0) 1 else n*fac(n-1) println("The result from fac : " + fac(10))
Lazy 只有在lazy修饰的变量或者常量在第一次使用的时候才会实例化该变量或常量,延迟执行或懒执行
def main(args:Array[String]): Unit = { lazy val file = Source.fromFile("E:\\Spark.txt") println("Hello") // for(line <- file.getLines()) // println(line) }
相关来源:
DT大数据梦工厂,微信公众号是:DT_Spark
微信号:18610086859
DT大数据梦工厂①:462923555
DT大数据梦工厂②:437123764
DT大数据梦工厂③:418110145
相关资料:
scala深入浅出实战经典完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码45e2