什么是元組
- 在其它語言中很早就是有元組這個概念, 但是對于OC程序員來說這是一個新的概念
- 官方定義: 元組(tuples) 把多個值組合成一個復合值瘩欺。
- 元組內的值可以是任意類型惜辑,并不要求是相同類型。
- 將多個相同或者不同類型的值用一個小括號括起來就是一個元組
定義元組
let student = ("cdh", 22, 1.88)
print(student)
print(student.0)
print(student.1)
print(student.2)
- 元組其實和結構體很像, 只是不需要提前定義類型.
- 元組其實是復合類型, 小括號中可以寫任意類型, 也可以指定數據類型
- 如果指定了數據類型,那么對應的必須是其指定的數據類型,否則會報錯.
let student1: (String, Int, Double) = ("cdh", 22, 1.88)
定義元組其它方式
let student2 = (name:"cdh",age:22,score:1.88)
print(student2.name)
print(student2.age)
print(student2.score)
- 通過指定的名稱提取元組對應的值, 會將對應位置的值 賦值給對應位置的名稱
let (name , age , score) = ("cdh", 22, 1.88)
print(name)
print(age)
print(score)
let student2 : (name , age , score) = ("cdh", 24, 99.9) // 這種定義方式是錯誤的
- 如果不關心元組中的某個值可以利用下劃線
_
通配符來忽略提取
let student4 = ("cdh",10,20)
let (name , age , _) = student
print(name)
print(age)
- 在以前沒有元組之前C和OC語言是通過傳入指針或者返回結構體的方式來返回多個值的; 而有了元組之后就可以實現讓一個函數返回多個值