谁能解释以下代码片段的结果?为什么第一个函数调用返回 kotlin.Unit?
kotlin 版本 1.5.21,java11
fun <T> testMethod(data: String?): T? = data?.let { return null }
println(testMethod<String>(null))  // --> kotlin.Unit
fun <T> testMethod2(data: String?): T? = data?.let { null }
println(testMethod2<String>(null)) // --> null
为什么 kotlin 1.4.30 中的结果不同 - https://pl.kotl.in/uFZDE3O9e?
这是一个编译器问题,已在此处报告 - https://youtrack.jetbrains.com/issue/KT-47527,已在 1.6.0-dev-970 中修复。
参考: https: //github.com/jetbrains/kotlin/commit/ae608ea67fc589c4472657dc0317e97cb67dd158
| 归档时间: | 
 | 
| 查看次数: | 87 次 | 
| 最近记录: |