Kotlin-高阶函数

kotlin的高阶函数是kotlin的一大特色,简写的方式,让人摸不着头脑,今天来记录一下

高阶函数的特点:函数的参数是一个函数类型,或者函数的返回值类型是一个函数类型

高阶函数1

   
    //创建一个高阶函数,不带返回值,且函数型参数也是不带返回值的
      private fun gj(
          zs:()->Unit
      ){
        zs.invoke()
      }

  
      //创建一个高阶函数,带返回值,且函数型参数也带返回值
     private fun name(
          zs:()->Int
      ):Int{
        return zs.invoke()
     }


    //创建一个带参数的普通函数
      private fun red(a:Int,b:Int):Int{
          return a-b;
      }

      //创建一个普通函数
      private fun add(){
          LogUtil.e("普通函数不带返回值")
      }
-----------------------------------------------------------------------------------
    gj{add()}        //gj的函数型参数是不带返回值的,add不带返回值可以传
        gj { red(1,2) }    //gj的函数型参数不带返回值,red函数是带返回值的也能传
        

    name { add() }    //name的函数型参数是带返回值,add不带返回值,报错,不能这样传

   val r =  name{    //name的函数型参数是带返回值,red带返回值,能传

你可能感兴趣的:(Kotlin,kotlin,开发语言,android)