Scala=
和有什么区别?:=
我已经广泛搜索“scala Colon-equals”,但找不到任何确定的东西。
=
在 scala 中是实际的赋值运算符——它做了一些你无法控制的特定事情,例如
val
或var
一个值var
:=
不是内置运算符——任何人都可以重载它并将其定义为他们喜欢的任何含义。人们喜欢使用的原因:=
是因为它看起来非常赋值,并且在其他语言中用作赋值运算符。
因此,如果您想找出:=
您正在使用的特定库中的含义......我的建议是查看 Scaladocs(如果它们存在)以查找名为:=
.
来自马丁·奥德斯基:
=
执行任务。 :=
未在标准库或语言规范中定义。如果您愿意,它是一个可供其他库或您的代码免费使用的名称。
Scala 允许运算符重载,您可以在其中定义运算符的行为,就像编写方法一样。
与其他语言一样,=
是赋值运算符。
我所知道的不是标准运算符:=
,但可以定义一个具有此名称的运算符。如果您看到这样的运算符,您应该检查您正在查看的任何内容的文档,或者搜索该运算符的定义位置。
Scala 运算符可以做很多事情。您基本上可以用您喜欢的几乎任何角色制作操作员。