kotlin 如何在一行代码里定义多个变量

Posted on By ᵇᵒ

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