第4讲:For与Function进阶实战、Lazy的使用

来源:互联网 发布:淘宝app功能介绍 编辑:程序博客网 时间:2024/06/05 00:21

 

for  循环和Java中是有一些差别的,Scala中for循环的表达式中可以写条件判断

for(i <-1to2;j <-1to 2) print(100*i+j+"")

    println()

for(i <-1to2;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




0 0
原创粉丝点击