Skip to content

15-元组类型

元组(Tuple)/ˈtjʊpəl; ˈtʌpəl/功能类似数组,都是管理一组数据,也是通过下标来获取元祖中的元素,但是也存在区别:

  1. 元祖可以存放不同类型的数据
  2. 元祖指定了数据类型和元素个数后不可更改

基本用法

javascript
    let tuple = (0, "abc", true) // 指定了元素的个数和类型
    println(tuple[0]) // 0
    println(tuple[1]) // "abc"
    println(tuple[2]) // true

不可修改

javascript
tuple[0] = 100 // error: 'tuple element' can not be assigned

也可以指定类型并且赋值

javascript
let x: (Int64, Float64) = (3, 3.141592)
let y: (Int64, Float64, String) = (3, 3.141592, "PI")

元组解构

元祖支持通过解构来快速获取里面的内容。

没有使用解构

javascript
    let tuple = (0, "abc", true)
    let a = tuple[0] // 0 
    let b = tuple[1] // "abc"
    let c = tuple[2] // true

使用了解构

javascript
    let tuple = (0, "abc", true)
    let (a, b, c) = tuple  // a = 0 ,  b = "abc" , c = true

如果我们只是想要元组中的某些值,忽略另外一些值时,可以使用 _ 来占位。

javascript
    let tuple = (0, "abc", true)
    let (a, _, c) = tuple
    println(a) // 0 
    println(c) // true 
    println(b) // error: undeclared identifier 'b'

Released under the MIT License.