我想不出使用 Kotlin 内置加号、减号、时间等函数会返回与仅使用相应运算符(+、-、*)不同的结果的情况。您为什么要在 Kotlin 代码中使用这些函数?
当您尝试访问属性时,Kotlin 隐式调用属性的 getter/setter 函数的目的是什么?getter 和 setter 的重点不是已经是如果您打算使用它们就可以轻松调用它们吗?Kotlin 的版本基本上只是引入了“字段”标识符的额外复杂性,并引入了如下所示的奇怪之处,其中对象的行为可能不像其接口预期的那样:
interface Counter {
var count: Int
fun increment() {
count = count + 1
}
}
class WeirdCounter: Counter {
override var count: Int = 0
get() = field
set(value) {println("ignore the value")}
}
Run Code Online (Sandbox Code Playgroud)
只是想了解这背后的意图。
kotlin ×2