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()) }
}
复制代码
成功
相关推荐
基哥的奋斗历程4 小时前
Kotlin_Flow_完整使用指南
android·开发语言·kotlin
用户69371750013848 小时前
4.Kotlin 流程控制:强大的 when 表达式:取代 Switch
android·后端·kotlin
用户69371750013848 小时前
5.Kotlin 流程控制:循环的艺术:for 循环与区间 (Range)
android·后端·kotlin
用户693717500138416 小时前
3.Kotlin 流程控制:告别 if-else 嵌套:If 表达式
android·kotlin·android jetpack
用户693717500138416 小时前
2.Kotlin 函数:函数进阶:可变参数 (vararg) 与局部函数
android·kotlin·android jetpack
alexhilton2 天前
Jetpack Compose中的阴影艺术
android·kotlin·android jetpack
Tom4i2 天前
Kotlin 中的 inline 和 reified 关键字
android·开发语言·kotlin
无知的前端2 天前
一文读懂-Jetpack与AndroidX
android·kotlin·android jetpack
用户69371750013843 天前
Kotlin 函数详解:命名参数与默认参数值
android·后端·kotlin
Jeled3 天前
RecyclerView ViewHolder 复用机制详解(含常见错乱问题与优化方案)
android·学习·面试·kotlin