在简要学习Scala的一些基本的使用,有一些学习上的感到疑惑的问题记录在此。
调用方法时不加“.”一样可以,在方法最后不加“return”亦可,不过为了可读性,一般都是加的。
在语句时常出现的“-”
其实这就是一种变量的简写。打个比方:
|
|
输出变量b:(2,4,6,8)
则易可知其中的语句val b = a.map(_ * 2)就相当于val b = a.map(a * 2)
- 关于其中的lazy
详细可以参考此文章
如下打个比方:
lazy val property = initProperty()
使用lazy关键字修饰变量后,只有在使用该变量时,才会调用其实例化方法。也就是说在定义property=initProperty()时并不会调用initProperty()方法,只有在后面的代码中使用变量property时才会调用initProperty()方法。
如果不使用lazy关键字对变量修饰,那么变量property是立即实例化的
可以再看看下面的利于理解:
|
|
上面的property没有使用lazy关键字进行修饰,所以property是立即实例化的,如果观察程序的输出:
|
|
可以发现,property声明时,立即进行实例化,调用了init()`实例化方法
而如果使用lazy关键字进行修饰:
|
|
观察输出:
|
|
在声明property时,并没有立即调用实例化方法intit(),而是在使用property时,才会调用实例化方法,并且无论缩少次调用,实例化方法只会执行一次。
- 在Scala中的break可用return替代。
暂时这么多,以后再补充。