Suj*_*tha 24 java jvm file kotlin
例如,在以下两个代码中:
File("./file1.txt").forEachLine { println(it) }
Run Code Online (Sandbox Code Playgroud)
和
File("somefile.txt").bufferedWriter().use { out ->
history.forEach {
out.write("${it.key}, ${it.value}\n")
}
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中it意味着什么?
Nan*_*ano 10
这是 kotlin org 文档:it:单个参数的隐式名称
例如
ints.filter { value -> value > 0 }
Run Code Online (Sandbox Code Playgroud)
你可以将其简化为:
ints.filter { it > 0 }
Run Code Online (Sandbox Code Playgroud)
虽然你不能使用
ints.filter { value > 0 }
Run Code Online (Sandbox Code Playgroud)
请参考以下说明。
它:单个参数的隐式名称
Lambda表达式只有一个参数是很常见的。
如果编译器可以自己找出签名,则可以不声明唯一的参数,而忽略->。该参数将以其名称隐式声明:
ints.filter { it > 0 } // this literal is of type '(it: Int) -> Boolean'
Run Code Online (Sandbox Code Playgroud)
https://kotlinlang.org/docs/reference/lambdas.html#it-implicit-name-of-a-single-parameter