解构声明

最终更新: 2025/02/06

有些时候, 能够将一个对象 解构(destructure) 为多个变量, 将会很方便, 比如:

这种语法称为 解构声明(destructuring declaration). 一个解构声明会一次性创建多个变量. 上例中你声明了两个变量: nameage, 并且可以独立地使用这两个变量:

解构声明在编译时将被分解为以下代码:

这里的 component1()component2() 函数是 Kotlin 中广泛使用的 约定原则(principle of convention) 的又一个例子 (其它例子请参见 +* 操作符, for 循环). 任何东西都可以作为解构声明右侧的被解构值, 只要可以对它调用足够数量的组件函数(component function). 当然, 还可以存在 component3()component4() 等等.

解构声明还可以使用在 for 循环中:

上面的代码将遍历集合中的所有元素, 然后对各个元素调用 component1()component2() 函数, 变量 ab 将得到 component1()component2() 函数的返回值.