为什么kotlin的函数参数中不允许使用var或val?

fun myfunction(a:String) //这是有效的

fun myfunction(var a:String) //这是无效的

fun myfunction(val a:String) //这是无效的

回答

出于var以下原因,从 kotlin 中删除了对 的支持:

主要原因是这令人困惑:人们倾向于认为这意味着通过引用传递参数,我们不支持(在运行时成本很高)。另一个混淆的来源是主构造函数:构造函数声明中的“val”或“var”意味着与函数声明(即,它创建一个属性)的同一事物不同的东西。另外,我们都知道变异参数不是一个好的风格,所以在函数中的参数前面写“val”或“var”,for循环的catch块不再被允许。

https://blog.jetbrains.com/kotlin/2013/02/kotlin-m5-1/ 中的更多详细信息。


以上是为什么kotlin的函数参数中不允许使用var或val?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>