kotlin 在一行代码里定义多个变量有两种方式
-
多个变量定义在同一行,使用逗号分隔
var a = 0; var b = "" -
解构声明
var (a, b) = Pair(0, "") var (a, b, c) = Triple(0, "", false) var (a, b, c, d, e) = intArrayOf(0, 1, 2, 3, 4)Pair 和 Triple 最多只能支持 2 和 3 个变量,好处是变量的类型可以各不相同;
如果超过 3 个就只能使用 List 和 Array 了,但这种方式也有两个弊端:
- List 和 Array 只能使用同一类型
- List 和 Array 最多支持 5 个解构声明的变量,原因是他们的 componentN 函数只写到了 0..4
如果要想支持更多的解构变量以及不同类型,那么就只有仿照 Pair 和 Triple 自己写一个 data class 了
componentN 解构函数
操作符重载
operate fun
kotlin 有多少种操作符可以重载
中缀函数
infix fun