请帮助您理解为什么点击价值不会改变。我开始阅读《行动中的科特琳》,现在问题多于答案(这是开玩笑的书,但是我不是)
我试图在功能之前设置clicks
,这是《行动中的kotlin》一书中的建议,但是var clicks
的值始终为0。
我有以下界面:
interface Button {
fun onClick(function: () -> Unit)
}
和Kotlin文件
fun main() {
var clicks = 0
fun tryToClickOnButton(button: Button): Int{
button.onClick{println("UPP $clicks")}
button.onClick{clicks++}
button.onClick{println("UPP $clicks")}
return clicks
}
class SpecialButton: Button{
override fun onClick(function: () -> Unit) {
println("AAAAAA $clicks")
}
}
val button = object: Button {
override fun onClick(function: () -> Unit) {
println("BBBBB $clicks")
}
}
println(tryToClickOnButton(button))
println(tryToClickOnButton(object : Button{
override fun onClick(function: () -> Unit) {
println("CCCCCCC $clicks")
}
}))
println(tryToClickOnButton(SpecialButton()))
}