什么是元组
- 在其它语言中很早就是有元组这个概念, 但是对于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语言是通过传入指针或者返回结构体的方式来返回多个值的; 而有了元组之后就可以实现让一个函数返回多个值
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。