12.swift 元祖

发布时间:2020-02-25 17:25:26 作者:光光ing
来源:网络 阅读:478

/*

元祖:

在其它语言中很早就是有元祖这个概念, 但是对于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)


/*

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

*/


// 元祖的使用 


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


推荐阅读:
  1. 活跃用户数量偏少?让我们从代码上分析一下原因!
  2. IOS渠道统计困境及解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ios swift 元祖

上一篇:MySQL索引、视图、存储过程

下一篇:dataguard rac到单机之间的switch over

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》