元組把多個值組合成一個復合值豪硅,元組內(nèi)的值可以是任意類型溺森。
let http404Eror = (404, "Not Found")
// http404Error的類型是(Int, String)
元組的內(nèi)容可以分解成單獨的可使用的常量和變量:
let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)")
print("The status message is \(statusMessage)")
如果只需要分解一部分元組值群嗤,可以用_
標記要忽略的部分:
let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")
此外扑庞,還可以通過下標來訪問元組中的單個元素:
print("The status code is \(http404Error.0)")
print("The status code is \(http404Error.1)")
定制元組的時候可以給單個元素命名:
let http200Status = (statusCode: 200, description: "OK")
print("The status code is \(http200Status.statusCode)")
print("The status message is \(http200Status.description)")
強烈推薦給元祖的元素命名,可以使代碼更清晰读整。
作為函數(shù)返回值時簿训,元組非常有用:
func getSize() -> (statusCode: Int, description: String) {
return (200, "OK")
}
let x = getSize()
print("code is \(x.statusCode), descripiton is \(x.description)")
// or
print("code is \(getSize().statusCode), descripiton is \(getSize().description)")
// print "code is 200, descripiton is OK"
注意:
元組在臨時組織值得時候很有用,但是并不適合創(chuàng)建復雜的數(shù)據(jù)結(jié)構米间。如果你的數(shù)據(jù)結(jié)構并不是臨時使用强品,請使用類或者結(jié)構體。