gpt4 book ai didi

scala - ()在Scala中是什么意思?

转载 作者:行者123 更新时间:2023-12-03 16:54:02 26 4
gpt4 key购买 nike

我找到了一个Scala代码片段,该片段声明了一种方法<init>并将()放在调用的正下方。

我对第5行有疑问。()在这里是什么意思?

(() => {
final class $anon extends MutableProjection {
def <init>() = {
super.<init>();
()
};
...
};
new $anon()
})

这是一个带有完整示例的 code

最佳答案

每个Scala函数都有一个返回类型。按照约定(并且受到某些语言功能的强烈鼓励),不需要返回任何内容的函数具有一个称为Unit的返回类型,该类型的单例值为()

函数主体中的最后一个表达式是其返回值。该作者将其设为(),以使编译器推断返回类型应为Unit。但是,仅使用类型注释即可做到这一点。如果函数的返回类型为Unit,则无论主体中的最后一条语句是什么,Scala都会从该函数隐式返回()。所以这

def <init>() = {
super.<init>()
()
}

可以等效地写成
def <init>(): Unit = super.<init>()

关于scala - ()在Scala中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32772084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com