定义扩展函数时如何在块内使用参数?
How to use parameters inside a block when defining an extension function?
val test: Int.(String) -> Int = {
plus((this))
}
在定义这种类型的extension function
时,如何在块内使用arguments( Here, the argument of type String)
?
像这样在声明的同时定义extension functions
时,只能使用this
吗?
您可以使用 it
访问它:
val test: Int.(String) -> Int = {
println("this = $this")
println("it = $it")
42
}
fun main() {
println("result = " + 1.test("a"))
}
这将输出
this = 1
it = a
result = 42
另一种方法是引入 lambda 参数:
val test: Int.(String) -> Int = { s ->
println("this = $this")
println("s = $s")
42
}
fun main() {
println("result = " + 1.test("a"))
}
这将输出
this = 1
s = a
result = 42
val test: Int.(String) -> Int = {
plus((this))
}
在定义这种类型的extension function
时,如何在块内使用arguments( Here, the argument of type String)
?
像这样在声明的同时定义extension functions
时,只能使用this
吗?
您可以使用 it
访问它:
val test: Int.(String) -> Int = {
println("this = $this")
println("it = $it")
42
}
fun main() {
println("result = " + 1.test("a"))
}
这将输出
this = 1
it = a
result = 42
另一种方法是引入 lambda 参数:
val test: Int.(String) -> Int = { s ->
println("this = $this")
println("s = $s")
42
}
fun main() {
println("result = " + 1.test("a"))
}
这将输出
this = 1
s = a
result = 42