☰
第087篇 函数类型与 typealias:回调接口的新写法
2026/10/6 20:56:53 网站建设 项目流程

函数类型是 Kotlin 里"接口的替代品"——() -> Unit比interface Callback { fun onDone() }短得多,而且能享受函数类型带来的语言特性(泛型、型变、空安全、默认值)。typealias则解决另一个痛点:(User) -> Boolean这类签名在项目里反复出现,长且难读。两者一起答,正是"用 Kotlin 的语言特性而不是绕着写"的信号。

先把结论放在前面:函数类型FunctionN<P1..Pn, R>的本质是接口——() -> Unit对应Function0<Unit>、(Int) -> String对应Function1<Int, String>,都有invoke方法。所以函数类型可以做变量、可以传参、可以返回(函数类型的字段不带invoke括号才是"函数引用",带括号就是调用)。typealias是纯编译期别名,展开后没有任何类型检查加成——它只改善可读性,不改变类型系统。这两条边界是本篇的核心:函数类型有语言级能力,typealias 没有。

机制拆解

先看函数类型的实现。(Int) -> St

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询