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()) }
}
复制代码
成功
相关推荐
plainGeekDev1 小时前
广播接收器 → Flow + Lifecycle
android·java·kotlin
plainGeekDev1 小时前
EventBus → SharedFlow
android·java·kotlin
Kapaseker1 天前
学不动了,入门 Compose Styles API
android·kotlin
plainGeekDev2 天前
MVC 写法 → MVVM
android·java·kotlin
plainGeekDev3 天前
单例模式 → object 声明
android·java·kotlin
rocpp4 天前
Android 多语言切换实战:从 Context 到 Android 13 应用语言适配
android·kotlin
黄林晴4 天前
用了这么久 Koin Scope,原来一直都用错了?
android·kotlin
唐青枫5 天前
Kotlin Context Parameters 详解:别再把 Logger、事务和配置层层往下传
kotlin
Coffeeee5 天前
如何使用Glide和Coil加载WebP动图
android·kotlin·glide
Kapaseker5 天前
5 分钟搞懂 Kotlin DSL
android·kotlin