1.invoke()函数
meThod1(1,2,3)等价meThod1.invoke(1,2,3)
fun main() {
val meThod1:(Int,Int,Int)->String={n1,n2,n3->
val num="kotlin"
println("num=$num,n1=$n1,n2=$n2,,n3=$n3")
"num=$num,n1=$n1,n2=$n2,,n3=$n3,"
}
//调用 meThod1(1,2,3)==meThod1.invoke(1,2,3)
meThod1.invoke(1,2,3)
meThod1(1,2,3)
}
执行结果
2.it关键字
普通方法书写,如果只有一个参数会默认为it
//普通函数,如果只有一个参数会默认为it
fun getMethod(it:String):String{
return "$it"
}
执行结果
在匿名函数中的运用,it在一个参数时使用
fun main() {
val meThod1:(Int,Int,Int)->String={n1,n2,n3->
val num="kotlin"
println("num=$num,n1=$n1,n2=$n2,,n3=$n3")
"num=$num,n1=$n1,n2=$n2,,n3=$n3,"
}
//调用 meThod1(1,2,3)==meThod1.invoke(1,2,3)
meThod1.invoke(1,2,3)
meThod1(1,2,3)
println(getMethod("c++"))
//it在匿名函数中的运用,it在一个参数时使用,对比meThod1并没有在实现时传入参数
val meThod2:(String)->String={
"$it py"
}
//调用
println(meThod2("c#"))
}
//普通函数,如果只有一个参数会默认为it
fun getMethod(it:String):String{
return "$it"
}
执行结果,it默认为传入一个参数时的形参