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()) }
}
复制代码
成功
相关推荐
6666v611 小时前
Android Kotlin(2) 协程上下文与异常处理机制
kotlin
zhangphil15 小时前
Kotlin协程await与join挂起函数异同
kotlin
儿歌八万首17 小时前
Android 自定义 View 实战:打造一个跟随滑动的丝滑指示器
android·kotlin
4Forsee18 小时前
【Kotlin】Kotlin 基础语法:变量、控制和函数
kotlin
Propeller1 天前
【Kotlin】Kotlin 基础语法:变量、控制和函数
kotlin
Rysxt_2 天前
Kotlin前景深度分析:市场占有、技术优势与未来展望
android·开发语言·kotlin
莫白媛2 天前
Android开发之Kotlin 在 Android 开发中的全面指南
android·开发语言·kotlin
天勤量化大唯粉3 天前
基于距离的配对交易策略:捕捉价差异常偏离的均值回归机会(天勤量化代码实现)
android·开发语言·python·算法·kotlin·开源软件·策略模式
hudawei9963 天前
kotlin冷流热流的区别
android·开发语言·kotlin·flow··冷流·热流
hudawei9963 天前
对比kotlin和flutter中的异步编程
开发语言·flutter·kotlin·异步·