您好,登錄后才能下訂單哦!
/*
元祖:
在其它語(yǔ)言中很早就是有元祖這個(gè)概念, 但是對(duì)于OC程序員來(lái)說這是一個(gè)新的概念
將多個(gè)相同或者不同類型的值用一個(gè)小括號(hào)括起來(lái)就是一個(gè)元祖
*/
let student = ("lnj", 30, 99.8)
print(student)
print(student.0)
print(student.1)
print(student.2)
/*
元祖其實(shí)和結(jié)構(gòu)體很想, 只是不需要提前定義類型. 那么如果不定義類型元祖是什么類型呢?
元祖其實(shí)是復(fù)合類型, 小括號(hào)中可以寫任意類型
*/
let student1: (String, Int, Double) = ("lnj", 30, 99.8)
/*
元祖的其它定義方式:指明應(yīng)用元祖元素的名稱
*/
let student2 = (name:"lnj",age:30,score:99.8)
print(student2.name)
print(student2.age)
print(student2.score)
/*
元祖的其它定義方式:
通過指定的名稱提取元祖對(duì)應(yīng)的值, 會(huì)將對(duì)應(yīng)位置的值 賦值給對(duì)應(yīng)位置的名稱
*/
let (name , age , score) = ("lnj", 30, 99.8)
print(name)
print(age)
print(score)
/*
如果不關(guān)心元祖中的某個(gè)值可以利用_通配符來(lái)忽略提取
*/
let (name1 , age1 , _) = ("lnj", 30, 99.8)
print(name1)
print(age1)
/*
在以前沒有元祖之前C和OC語(yǔ)言是通過傳入指針或者返回結(jié)構(gòu)體的方式來(lái)返回多個(gè)值的,而有了元祖之后就可以實(shí)現(xiàn)讓一個(gè)函數(shù)返回多個(gè)值
*/
// 元祖的使用
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
// 給每一個(gè)元素起別名
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
// ------------------使用元祖------------------------
// 元祖也是一個(gè)數(shù)據(jù)集合,可以在集合中定義一組數(shù)據(jù)
// 元祖的定義使用:(元素1,元素2)
("1001", "張三", 19, 1.88)
(id : "1001", name : "張三", age : 19, height : 1.88)
// 用一個(gè)數(shù)據(jù)類型來(lái)描述網(wǎng)絡(luò)請(qǐng)求錯(cuò)誤
// errorCode/errorInfo
[404, "Not Found"]
["errorCode" : 404, "errorInfo" : "Not Found"]
// 用元祖描述錯(cuò)誤信息
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("沒有找到主機(jī)")
default :
print("其他錯(cuò)誤")
}
let (errorCode2, errorInfo2) = (404, "Not Found")
errorCode2
errorInfo2
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。