Scala语言特性深入解析
1. 语法糖与方法命名
在Scala中,所有运算符本质上都是方法。当你了解这一点后,理解陌生的Scala代码就会变得容易许多,看到新的运算符时也无需担心特殊情况。例如,在并发编程中使用的感叹号 ! 实际上就是一个普通方法,用于异步消息传递。
这种灵活的方法命名方式使我们能够编写与Scala无缝融合的库。我们可以创建新的数学库,让数字类型支持所有常见的数学运算符;也可以编写新的并发消息层,其行为类似于Actor。不过,方法命名也有一些限制。
需要注意的是,虽然可以自定义运算符符号,但不建议过度使用。在设计API时,晦涩的标点符号运算符会增加用户阅读、学习和记忆的难度,过度使用会使代码难以阅读。因此,应遵循既定的运算符约定,当运算符快捷方式不明显时,优先使用可读性高的方法名。
2. 空参数列表的方法
Scala在处理无参数方法的括号使用上非常灵活。如果方法没有参数,可以在定义时省略括号,调用时也必须省略括号;反之,如果在定义时添加了空括号,调用时可以选择添加或不添加括号。
例如, List.size 方法定义时没有括号,所以调用时应写成 List(1, 2, 3).size ,若写成 List(1, 2, 3).size() 则会报错。而 java.lang.String 的 length 方法在Java中定义时有括号,但Scala允许写成 "hello".length() 和
超级会员免费看
订阅专栏 解锁全文
1026

被折叠的 条评论
为什么被折叠?



