Swift基础语法-元组--OC中没有的概念


什么是元组

  • 在其它语言中很早就是有元组这个概念, 但是对于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语言是通过传入指针或者返回结构体的方式来返回多个值的; 而有了元组之后就可以实现让一个函数返回多个值

你可能感兴趣的:(Swift基础语法-元组--OC中没有的概念)