尽管如此,在所有路径上都没有返回的自定义获取程序仍然可以编译

时间:2018-11-13 17:21:59

标签: kotlin

我写了这段代码:

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语句。

这是一些未记录的功能还是错误?

1 个答案:

答案 0 :(得分:4)

这确实是a bug,计划在1.3.20中修复。