我写了这段代码:
var test: String? = null
get() {
field?.also {
return "has value"
}
}
仅当该字段为非空时,它会到达return
。否则,身体就完成了。尽管如此,如果field为null,则可以正常编译并返回null
。
如果我改成这个:
var test: String? = null
get() {
if (field != null)
return "has value"
}
现在,编译器抱怨该块体需要一个return语句。
这是一些未记录的功能还是错误?