15-元组类型
元组(Tuple)/ˈtjʊpəl; ˈtʌpəl/
功能类似数组,都是管理一组数据,也是通过下标来获取元祖中的元素,但是也存在区别:
- 元祖可以存放不同类型的数据
- 元祖指定了数据类型和元素个数后不可更改
基本用法
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'