Kotlin 类型别名

文章目录

定义

有时候一个类型可能会特别长,特别是在引入泛型之后。我们可以使用typealias为某一类型起一个名字:

kt 复制代码
typealias Cookies = HashMap<String, List<String>>


fun main() {
    val cookies: Cookies = HashMap()
    
    cookies["sessionId"] = listOf("abc123")
}

为嵌套类起别名:

kt 复制代码
typealias MyClassInner = MyClass.Inner1.Inner2


class MyClass {
    class Inner1 {
        class Inner2
    }
}

为函数起别名:

kt 复制代码
typealias Callback = (String) -> Unit

泛型别名

当类型中带有泛型时,也可以连带泛型:

kt 复制代码
typealias Callback<T> = (Result<T>) -> Unit


fun request(callback: Callback<String>) =
    callback(Result.success("成功"))


fun main() {
    request { print(it.getOrNull()) }
}
复制代码
成功
相关推荐
Nerd(BUG版)15 小时前
KMP学习day4--Kotlin空安全与泛型
学习·安全·kotlin
Nerd(BUG版)20 小时前
KMP学习day5--Kotlin Flow异步流基础
开发语言·学习·kotlin
灿飞2 天前
Kotlin与Java虚拟机八:控制流与 when:卫语句、上下文相关解析与穷尽性
java·kotlin
灿飞3 天前
Kotlin与Java虚拟机七:空安全:把十亿美元的错误消灭在类型系统里
java·kotlin
俩个逗号。。4 天前
Kotlin flow 详解
android·开发语言·kotlin
灿飞4 天前
Kotlin与Java虚拟机六:基础与类型系统:一切皆对象,但对象有代价
java·kotlin
alexhilton4 天前
提升 Android Compose 页面的流畅度
android·kotlin·android jetpack
灿飞5 天前
Kotlin与Java虚拟机四:一段代码的完整旅程
kotlin
Kapaseker5 天前
Kotlin 2.5 Value Class 终于能放多个属性了
android·kotlin
传奇开心果编程5 天前
【Jetpack Compose娓娓道来】第29课:状态容器与UI事件建模——把“散装状态”变成“可穷举的契约”
android·kotlin·移动开发·android jetpack·ui框架·开发范式·声明式ui