Swift基础语法-元组--OC中没有的概念
2016-07-30 本文已影响124人
DwightChan
什么是元组
- 在其它语言中很早就是有元组这个概念, 但是对于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语言是通过传入指针或者返回结构体的方式来返回多个值的; 而有了元组之后就可以实现让一个函数返回多个值