在Scala中,“=”和“:=”有什么区别?
我尝试过大量谷歌搜索“scala colon-equals”,但没有找到确切的答案。
我尝试过大量谷歌搜索“scala colon-equals”,但没有找到确切的答案。
=
是真正的赋值操作符--它执行一些特定的操作,大部分情况下您不能控制,例如:
val
或者 var
时给其赋值。var
的值。:=
不是内置操作符--任何人都可以重载它并定义它的含义。人们喜欢使用 :=
是因为它看起来非常像赋值,并且在其他编程语言中也作为赋值操作符使用。:=
的含义... 我的建议是查看Scaladocs(如果存在),寻找命名为 :=
的方法。来自Martin Odersky:
:=
进行赋值操作,使用 ==
进行相等性检查,而不要使用在语言上具有歧义的 =
。不用 =
会更好。 - Ivan=
表示赋值。 :=
在标准库或语言规范中没有定义。如果您愿意,它是其他库或您的代码可以自由使用的名称。
:=
这个赋值操作符。请参考 https://github.com/harrah/xsbt/wiki/Settings 了解 SBT 的所有赋值操作符。 - leedm777