您好,登錄后才能下訂單哦!
/*
元祖:
在其它語言中很早就是有元祖這個概念, 但是對于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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。