Kotlin中函数等号关联带函数体函数的术语、含义及示例疑问
Kotlin表达式体函数与尾随Lambda解析
写法名称与核心含义
你提到的fun main() = runBlocking { ... }是Kotlin里的表达式体函数(Expression-bodied function),和用{}包裹代码块的传统函数写法相对。
这种写法的核心是:函数的返回值直接等于=右侧表达式的计算结果,不需要显式声明return(除非需要提前返回),写法更简洁紧凑。
关于runBlocking的调用细节
你的理解完全正确:
- 这里确实是执行
runBlocking函数,同时把{ ... }这个Lambda表达式作为参数传入。 - 这种把Lambda移到函数调用括号外的写法,在Kotlin里叫做尾随Lambda(Trailing Lambda),是语法糖——等价于
runBlocking({ ... }),当函数最后一个参数是函数类型时就可以用这种简化写法。
另外你说的main函数会立即执行也没错,作为程序入口,它启动后就会执行=右侧的逻辑:调用runBlocking并执行传入的Lambda代码。
内容的提问来源于stack exchange,提问作者mtyson
相关产品推荐
相关产品推荐

