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()) }
}
复制代码
成功
相关推荐
ai2work5 天前
ch23 综合复刻:从零做一个最小可用版本(capstone)
kotlin
ai2work5 天前
ch21 签名、校验与发版
kotlin
JMchen5 天前
属性动画原理与高级动画实现
android·kotlin·canvas
Android打工仔5 天前
Kotlin 协程源码解析:协程是如何切换线程的?
android·kotlin
ai2work5 天前
附录 D 速查索引与阅读指南
kotlin
ai2work5 天前
ch22 诊断方法论:三个真实事故的根因分析
kotlin
Kapaseker5 天前
你有搞明白 Volatile 什么意思吗?
android·kotlin
alexhilton5 天前
藏在设备上的秘密,终究藏不住
android·kotlin·android jetpack
ai2work5 天前
ch15 加载模型与初始化上下文
kotlin
hai_android5 天前
Kotlin / Android 常用函数使用示例手册
android·java·kotlin