/*
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的岳普湖网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
元祖:
在其它语言中很早就是有元祖这个概念,但是对于OC程序员来说这是一个新的概念
将多个相同或者不同类型的值用一个小括号括起来就是一个元祖
*/
let student = ("lnj", 30, 99.8)
print(student)
print(student.0)
print(student.1)
print(student.2)
/*
元祖其实和结构体很想,只是不需要提前定义类型.那么如果不定义类型元祖是什么类型呢?
元祖其实是复合类型,小括号中可以写任意类型
*/
let student1: (String, Int, Double) = ("lnj", 30, 99.8)
/*
元祖的其它定义方式:指明应用元祖元素的名称
*/
let student2 = (name:"lnj",age:30,score:99.8)
print(student2.name)
print(student2.age)
print(student2.score)
/*
元祖的其它定义方式:
通过指定的名称提取元祖对应的值,会将对应位置的值赋值给对应位置的名称
*/
let (name , age , score) = ("lnj", 30, 99.8)
print(name)
print(age)
print(score)
/*
如果不关心元祖中的某个值可以利用_通配符来忽略提取
*/
let (name1 , age1 , _) = ("lnj", 30, 99.8)
print(name1)
print(age1)
/*
在以前没有元祖之前C和OC语言是通过传入指针或者返回结构体的方式来返回多个值的,而有了元祖之后就可以实现让一个函数返回多个值
*/
//元祖的使用
let userArray = ["why", 18, 1,88]
userArray[0]
let userDict = ["name" : "why", "age" : 18, "height" : 1.88]
userDict["name"]
//元组的基本写法
let userInfo = ("why", 18, 1.88)
userInfo.0
userInfo.1
userInfo.2
//给每一个元素起别名
let userInfo1 = (name : "why", age : 18, height : 1.88)
userInfo1.name
userInfo1.age
userInfo1.height
//别名就是变量的名称
let (name, age, height) = ("why", 18, 1.88)
name
age
height
// ------------------使用元祖------------------------
//元祖也是一个数据集合,可以在集合中定义一组数据
//元祖的定义使用:(元素1,元素2)
("1001","张三",19,1.88)
(id : "1001", name : "张三", age : 19, height : 1.88)
//用一个数据类型来描述网络请求错误
// errorCode/errorInfo
[404,"Not Found"]
["errorCode" :404,"errorInfo" :"Not Found"]
//用元祖描述错误信息
let error = (404, "Not Found")
error.0
error.1
let error1 = (errorCode : 404, errorInfo : "Not Found")
error1.errorCode
error1.errorInfo
switch (error1) {
case (404,"Not Found"):
print("没有找到主机")
default :
print("其他错误")
}
let (errorCode2, errorInfo2) = (404, "Not Found")
errorCode2
errorInfo2