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()) }
}
复制代码
成功
相关推荐
续天续地9 天前
开箱即用的Kotlin Multiplatform 跨平台开发模板:覆盖网络/存储/UI/DI/CI工具链
ios·kotlin
移动开发者1号10 天前
Android使用Zip4j实现加密压缩
android·kotlin
移动开发者1号10 天前
解析 MMKV:高性能 KV 存储原理与实战指南
android·kotlin
雨白10 天前
Kotlin 泛型:从类型擦除到实化、协变与逆变
kotlin
Kapaseker11 天前
Jetpack Compose的副作用一览
android·kotlin
移动开发者1号11 天前
Android数据库连接泄露检测:解析与实战
android·kotlin
移动开发者1号11 天前
SQLite FTS4全文搜索实战指南:从入门到优化
android·kotlin
androidwork12 天前
Kotlinx序列化多平台兼容性详解
android·java·kotlin
移动开发者1号12 天前
Android存储访问框架(SAF)
android·kotlin
移动开发者1号12 天前
深入理解文件存储沙盒机制
android·kotlin