kotlin: 匿名函数/lambda表达式为函数类型变量赋值

一,功能:

匿名函数 可以作为 变量 赋值给 函数类型变量 ,

可以作为 函数参数 传递给函数 ,

因此 , 匿名函数 与 变量 一样 , 也存在 对应的 函数类型 ;

函数类型 由 参数 和 返回值 决定 ;

有 相同 参数顺序 , 参数个数 和 返回值类型 的函数 , 其 函数类型相同 ;

二,例子:匿名函数

代码:

        //处理按钮点击事件
        binding.button2.setOnClickListener {
            // 声明 函数类型 变量
            val helloFun: (String)->String

            // 为 函数类型变量 赋值一个 匿名函数
            helloFun = fun(it:String):String {
                return "Hello ${it}"
            }

            // 执行 函数类型 变量对应的 函数
            val str = helloFun("尼古拉斯赵四")
            println(str)
        }

运行结果:

image

三,例子:lambda表达式

代码:

        //处理按钮点击事件
        binding.button3.setOnClickListener {
            // 声明 函数类型 变量
            val helloFun: (name:String,age:Int)->String

            // 为 函数类型变量 赋值一个 lambda表达式
            helloFun = {name,age->
                "Hello ${name},今年${age}岁了"
            }

            // 执行 函数类型 变量对应的 函数
            val str = helloFun("尼古拉斯赵四",33)
            println(str)
        }

运行结果:

image

 

posted @ 2025-08-23 09:19  刘宏缔的架构森林  阅读(16)  评论(0)    收藏  举报