本文主要是介绍scala 中的def/val/lazy val/的区别,call-by-value/call-by-name,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文简述在Scala中def、val和lazy val的区别
关于val
、lazy val
和def
的概念在此不多说,假设在 ~/Desktop 目录下有有一个 test.dat 文件,内容为:
content 1
直接来看在REPL中的效果:
使用val
- 如果 ~/Desktop/test.dat 文件不存在
scala> val content1 = Source.fromFile("/home/xring/Desktop/test.dat").mkStringjava.io.FileNotFoundException: ~/Desktop/test.dat (No such file or directory)at java.io.FileInputStream.open0(Native Method)at java.io.FileInputStream.
这篇关于scala 中的def/val/lazy val/的区别,call-by-value/call-by-name的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!