Swift 元組 Tuples 介紹

2021-06-25 14:55:59 字數 1583 閱讀 6827

元組是objective-c中沒有的資料型別,與陣列類似,都是表示一組資料的集合,但與陣列不同,它的特點是:

元組的定義很簡單,用小括號括起來,然後以逗號隔開就可以了,如:

var userinfo = ("bannings" ,true, 22)  

這樣就建立了乙個元組,而想要獲取其中的值,則有多種方法,可以直接通過索引來取:

userinfo.0  //bannings

userinfo.1  //true

userinfo.2  //22

但是這樣並不方便,也不直觀,那麼可以用下面這種方式來訪問:

let (name, ismale, age) = userinfo  

name    //bannings

ismale  //true

age     //22

把已知的userinfo賦給乙個全是變數名組成的新的元組,那麼就能以變數名去訪問元組中的資料了。

還有另外一種方法也能以變數名的方式去訪問元組中的資料,那就是在元組初始化的時候就給它乙個變數名:

let userinfo = (name:"bannings" ,ismale:true, age:22)  

userinfo.name       //bannings

userinfo.ismale     //true

userinfo.age        //22

除此之外,元組還支援「跳過」某些你並不關心的值,只需要用下劃線(_)去忽略它們就行了:

let (name,  _, age) = userinfo  

name    //bannings

//ismale  這個就不能訪問了

age     //22

或者是在該元組初始化的時候不給它指定變數名:

let userinfo = (name:"bannings" ,true, age:22)  

userinfo.name       //bannings

這個就不能訪問了

userinfo.age        //22

用var定義的元組就是可變元組,let定義的就是不可變元組。不管是可變還是不可變元組,元組在建立後就不能對其長度進行增加和刪除之類的修改,只有可變元組能在建立之後修改元組中的資料:

var userinfo = (name:"bannings" ,true, age:22)"white-space:pre">    

//定義可變元組

userinfo.name = "newname"

userinfo.name   //newname

let userinfo1 = (name:"bannings" ,true, age:22)"white-space:pre">   

//定義不可變元組

userinfo1.name = "newname"

//報錯,不可修改

需要注意的是,可變元組雖然可以修改資料,但卻不能改變其資料的資料型別:

var userinfo = (name:"bannings" ,true, age:22)  

userinfo.name = 1   //報錯

Swift 元組 Tuples 介紹

元組是objective c中沒有的資料型別,與陣列類似,都是表示一組資料的集合,但與陣列不同,它的特點是 元組的定義很簡單,用小括號括起來,然後以逗號隔開就可以了,如 var userinfo bannings true,22 這樣就建立了乙個元組,而想要獲取其中的值,則有多種方法,可以直接通過索...

Swift 中的元組 Tuples

1.1元組型別的字面量格式 元素1,元素2,元素3,元素4,元素值n 張三 18,男 1.2也可以採用鍵值對的方式 元素名稱1 元素1,元素名稱2 元素2,元素名稱3 元素3.name 李四 age 18,gender 男 2.1元組型別宣告為變數var stu1 張三 18,男 2.2元組型別宣告...

Swift學習筆記之元組(tuples)

元組 元組 tuples 是由其它型別組合而成的型別。元組可能包含零或多個型別,比如 字串 整數 字元 布林以及其它元組。同時請注意,元組是值傳遞,而不是引用。在swift中建立元組的方式很簡單,元組型別是用括號包圍,由乙個逗號分隔的零個或多個型別的列表。例如 let firsthighscore ...