kotlin - 为什么 var 或 val 不允许在 kotlin 中的函数参数中使用?
问题描述
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/中的更多详细信息。
推荐阅读
- python - 如何在情绪分析之前将推文上传到 SQLite 文件?
- ios - Flutter:SmsAutoFill getAppSignature 在 iOS 设备上为空
- javascript - NullInjectorError: StaticInjectorError[JobcounterComponent -> FetchJobDataService]
- c# - UWP 和 Microsoft.AspNetCore.SignalR.Client Release 配置问题
- mysql - node.js 中基于角色的登录身份验证
- r - 当尝试保存输出时,为什么 R 中的系统调用会失败?
- gitlab-ci - 如何手动触发 gitlab 管道测试?
- azure - 预配 Azure 资源时出错 (Ubuntu)
- css - 定位图像和文本响应式
- angular - 贝宝集成中的 ExpressionChangedAfterItHasBeenCheckedError