gpt4 book ai didi

kotlin - 为什么赋值不是语句

转载 作者:行者123 更新时间:2023-12-01 04:57:54 27 4
gpt4 key购买 nike

我有以下代码:

class Presenter {
private var view : View? = null

fun attachView(view: View) = this.view = view // error: Assignment is not a statement

fun detachView() = view = null // error: Assignment is not a statement
}

我知道我只能写:
class Presenter {
var view : View? = null
}

然后在代码中调用 presenter.view = View()presenter.view = null而不是 attachView/ detachView .但我认为这不太可读。

那么为什么我不能在 Kotlin 中使用赋值作为表达式主体呢?为什么赋值不只是一个 Unit 类型的语句?

最佳答案

不管我们喜欢与否,这只是语言创造者做出的设计决定。有关更多详细信息,请参阅此讨论:

https://discuss.kotlinlang.org/t/assignment-not-allow-in-while-expression/339

关于kotlin - 为什么赋值不是语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602364/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com