scala学习笔记

1.lazy

惰性计算

     惰性 求值 特别用于 函数式编程语言 中。在使用延迟求值的时候,表达式不在它被绑定到变量之后就立即求值,而是在该值被取用的时候求值 。 除可以得到性能的提升外,惰性计算的最重要的好处是它可以构造一个无限的数据类型。

    Scala中通过lazy关键字来定义惰性变量,惰性变量只能是不可变变量。例如下面,只有在调用惰性变量b的toString方法的时候,才会去实例化b这个变量。可以看到“Test”是先打印出来的。

class Book(name:String){

    println("new book"+name)

    override def toString() = "《"+name+"》"

}

lazy val b = new Book("Java")

println("Test")

println(b.toString)

参考:Scala的函数式编程

2.“_”代表任意值。

3.tuple元组

在scala shell中,可以使用tab键进行提示。

创建元组的方式

var tuple1 = Tuple1("localhost", 8888);

var tuple1 = Tuple2("localhost", 8888);

.

var tuple1 = Tuple22("localhost", 8888);

var tuple1 = ("localhost", 8888);

var tuple1 = "localhost" -> 8888;

4. def max(x:Int, y:Int):Int = {……}

在scala中,scala编译器是无法推断函数的参数类型的,所以必须显示的注明函数的参数类型。

 


 

你可能感兴趣的:(scala学习笔记)