- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北风网项目实战培训 在Scala中,定义函数时,如果函数体直接包裹在了花括号里面,而没有使用=连接,则函数的返回值类型就是Unit。这样的函数就被称之为过程。过程通常用于不需要返回值的函数。 过程还有一种写法,就是将函数的返回值类型定义为Unit。 def sayHello(name: String) = Hello, + name def sayHello(name: String) { print(Hello, + name); Hello, + name } def sayHello(name: String): Unit = Hello, + name 过程 在Scala中,提供了lazy值的特性,也就是说,如果将一个变量声明为lazy,则只有在第一次使用该变量时,变量对应的表达式才会发生计算。这种特性对于特别耗时的计算操作特别有用,比如打开文件进行IO,进行网络IO等。 import scala.io.Source._ lazy val lines = fromFile(C://Users//Administrator//Desktop//test.txt).mkString 即使文件不存在,也不会报错,只有第一个使用变量时会报错,证明了表达式计算的lazy特性。 val lines = fromFile(C://Users//Administrator//Desktop//test.txt).mkString lazy val lines = fromFile(C://Users//Administrator//Desktop//test.txt).mkString def lines = fromFile(C://Users//Administrator//Desktop//test.txt).mkString lazy值 在Scala中,异常处理和捕获机制与Java是非常相似的。 try { throw new IllegalArgumentException(x should not be negative) } catch { case _: IllegalArgumentException = println(Illegal Argument!) } finally { print(release resources!) } try { throw new IOException(user defined exception) } catch { case e1: IllegalArgumentException = println(illegal argument) case e2: IOException = println(io exception) } 异常 欢迎访问我们的官方网站
文档评论(0)