【第二阶段】it关键字

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)
}

执行结果
【第二阶段】it关键字_第1张图片
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默认为传入一个参数时的形参
【第二阶段】it关键字_第2张图片

你可能感兴趣的:(Kotlin,kotlin)