Kotlin `typealias` 特性
Kotlin `typealias` feature
根据Kotlin's lexer的来源,有一个typealias
关键字,它不像yield
和typeof
那样"reserved for future use"。
此外,grammar reference 建议 typealias
应该是 class 成员声明的有效关键字,当我在 IntelliJ IDEA 中键入 typealias
时(Android Studio) 使用 Kotlin 插件时,它会将其识别为关键字,但我收到 expecting member declaration 错误。我也尝试过将它与 "usual" 语法一起使用,例如它在 Swift 中实现,但没有成功。
那么,typealias
功能是否实际在 Kotlin 中实现(从 1.0 开始),如果是,它的语法是什么?是否有描述其用途的文档?
更新
支持 type aliases 的 Kotlin 1.1 现已发布!
使用 typealias
,您可以为自 Kotlin 1.1 以来的现有类型提供替代名称:
typealias Multimap<K, V> = MutableMap<K, MutableList<V>>
有关详细信息,请参阅 the official documentation or the KEEP proposal。
根据Kotlin's lexer的来源,有一个typealias
关键字,它不像yield
和typeof
那样"reserved for future use"。
此外,grammar reference 建议 typealias
应该是 class 成员声明的有效关键字,当我在 IntelliJ IDEA 中键入 typealias
时(Android Studio) 使用 Kotlin 插件时,它会将其识别为关键字,但我收到 expecting member declaration 错误。我也尝试过将它与 "usual" 语法一起使用,例如它在 Swift 中实现,但没有成功。
那么,typealias
功能是否实际在 Kotlin 中实现(从 1.0 开始),如果是,它的语法是什么?是否有描述其用途的文档?
更新
支持 type aliases 的 Kotlin 1.1 现已发布!
使用 typealias
,您可以为自 Kotlin 1.1 以来的现有类型提供替代名称:
typealias Multimap<K, V> = MutableMap<K, MutableList<V>>
有关详细信息,请参阅 the official documentation or the KEEP proposal。