【发布时间】:2019-11-06 00:42:15
【问题描述】:
据我了解,Kotlin 应该能够根据函数体中使用的最后一个表达式推断函数的返回类型。
fun returnInt() {
42 + 24
}
但是,当我创建一个期望相等 (==) 运算结果的函数时,例如:
fun returnBoolean() {
someBool == otherBool
}
我收到以下警告:
未使用的等于表达式
我可以通过添加返回类型和返回语句来解决这个问题:
fun returnBoolean(): Boolean {
return someBool == otherBool
}
但我只是想知道为什么returnBoolean() 得到一个“未使用的等于表达式”而returnInt() 没有。
【问题讨论】:
-
我不知道 kotlin,但是您的
42 + 42似乎无效,并且引发错误的第二段代码更正确。似乎使用{}的定义,你需要一个明确的return。 -
你的第一个函数没有被推断为
Int,Kotlin 推断为Unit。