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()) }
}
复制代码
成功
相关推荐
我命由我123451 天前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法
1 天前
Android 自定义 View 实战:从零打造工业级全向摇杆控件(OmniJoystickView)
android·kotlin·自定义view·摇杆控件
雨白1 天前
深入理解 Kotlin 协程 (十一):以逸待劳,探秘 select 多路复用与并发安全策略
android·kotlin
刘名喜1 天前
第22篇-数据库迁移-Liquibase
kotlin·springboot
刘名喜1 天前
第30篇-Spring-Security-7核心概念
后端·kotlin·springboot
我命由我123451 天前
Jetpack Compose - Material Design 断点范围、WindowSizeClass、针对不同屏幕尺寸创建预览、四类导航栏
android·java·开发语言·java-ee·kotlin·android jetpack·android runtime
刘名喜2 天前
第24篇-全局异常处理
kotlin·springboot
我命由我123452 天前
Jetpack Compose - MaterialExpressiveTheme 与 MaterialTheme、ColorScheme
android·java·开发语言·java-ee·kotlin·android jetpack·android runtime
深海呐2 天前
仓颉语言是ArkTs的上层语言吗?就像kotlin和Java
java·开发语言·kotlin·仓颉
Kapaseker2 天前
Boolean 变量到底该怎么命名?
android·kotlin