kotlin函数的一些用法

测试函数的一些用法:

Kotlin 复制代码
fun main() {
    val func1: (Int, Int) -> Int = ::getMax // ::引用一个函数
    println("max(8, 9) = ${func1(8, 9)}")    
    
    val func2: (Int, Int) -> Int = fun(a: Int, b: Int): Int { // 赋值为一个匿名函数
    	return a + b
	}
    println("sum(8, 9) = ${func2(8, 9)}")    
    
    val func3: (Int, Int) -> Int = { a, b -> if(a < b) a else b } // Lambda表达式函数
    println("min(8, 9) = ${func3(8, 9)}")   
    
    // 函数传参为Lambda表达式
    invoke({name, zuoYouMing -> println("我是$name, 我的座右铭是$zuoYouMing")}, "司徒浩南", "铜锣湾只有一个浩南,就是我司徒浩南!")
}

fun getMax(a: Int, b: Int) = if (a > b) a else b

fun invoke(func: (String, String) -> Unit, str1: String, str2: String) {
    func(str1, str2) // 直接调用参数的函数
}

打印:

ok. 函数用法很灵活。

相关推荐
naruto_lnq2 小时前
分布式系统安全通信
开发语言·c++·算法
学嵌入式的小杨同学2 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
Re.不晚2 小时前
Java入门17——异常
java·开发语言
精彩极了吧3 小时前
C语言基本语法-自定义类型:结构体&联合体&枚举
c语言·开发语言·枚举·结构体·内存对齐·位段·联合
南极星10054 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
baidu_247438614 小时前
Android ViewModel定时任务
android·开发语言·javascript
Dev7z4 小时前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab
不能隔夜的咖喱4 小时前
牛客网刷题(2)
java·开发语言·算法
小天源4 小时前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
肉包_5115 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++