swift基础-8-Tuples元组类型

元组:
在其它语言中很早就有元组这个概念, 但是对于OC程序员来说这是一个新的概念
将多个相同或者不同类型的值用一个小括号括起来就是一个元组

let student = ("solozyx", 99, 171)  //(.0 "solozyx", .1 99, .2 171.1)
print(student)                      //"("solozyx", 99, 171.1)\n"
print(student.0)                    //"solozyx\n"
print(student.1)                    //"99\n"
print(student.2)                    //"171.1\n"

元组其实和结构体很像, 只是不需要提前定义类型. 那么如果不定义类型元组是什么类型呢?
元组其实是复合类型, 小括号中可以写任意类型

let student1: (String, Int, Double) = ("solozyx", 99, 171.1)

元组的其它定义方式:指明应用元组元素的名称

let student2 = (name:"solozyx",age:99,score:171.1) //(.0 "solozyx", .1 99, .2 171.1)
print(student2.name)                               //"solozyx\n"
print(student2.age)                                //"99\n"
print(student2.score)                              //"171.1\n"
print(student2.0)                                  //"solozyx\n"
print(student2.1)                                  //"99\n"
print(student2.2)                                  //"171.1\n"

元组的其它定义方式:
通过指定的名称提取元组对应的值, 会将对应位置的值 赋值给对应位置的名称

let (name , age , score) = ("solozyx", 99, 171.1)
print(name)          //"solozyx\n"
print(age)           //"99\n"
print(score)         //"171.1\n"

如果不关心元组中的某个值可以利用 _ 通配符来忽略提取

let (name1 , age1 , _) = ("solozyx", 99, 171.1)
print(name1)     //"solozyx\n"
print(age1)      //"99\n"

在以前没有元组之前C和OC语言是通过传入指针或者返回结构体的方式来返回多个值的,而有了元组之后就可以实现让一个函数返回多个值

你可能感兴趣的:(swift基础-8-Tuples元组类型)