元组(Tuples)是之前很少使用的一样东西,一直没有好好理解一下这个名字听上去挺高级的东西到底是啥,看不同的教程时,发现每个人把他都归类到不同的项目中,所以这里我想整理一下自己的思路。
随便打开一个swift的.playground文件,先过一遍Swift 2 Tutorial Part 3: Tuples, Protocols, Delegates, and Table Views 第一部分Tuples。
定义方法1与调用
let tipAndTotal:(Double, Double) = (4.00, 25.19)
tipAndTotal.0
tipAndTotal.1
定义方法2与调用
//let tipAndTotalNamed = (tipAmt:4.00, total:25.19)
let tipAndTotalNamed:(tipAmt:Double, total:Double) = (4.00, 25.19)
tipAndTotalNamed.tipAmt
tipAndTotalNamed.total
函数的定义与调用
func calcTipWithTipPct(tipPct:Double) -> (tipAmt:Double, total:Double) {
let tipAmt = subtotal * tipPct
let finalTotal = total + tipAmt
return (tipAmt, finalTotal)
}
calcTipWithTipPct(0.20)
发现其实Tuples没有名字看上去那么难以理解,tuple type可以放入2个value,在函数中作为返回值(return type)时,变相地实现了返回两个值的效果。
另一篇文章也详细地介绍了元组并且还提到了元组的访问级别,“元组里的元素都是private级别的,那么该元组也是private级的。但这里有一个遵循最小的原则,也就是说如果一个元组中有两个元素,一个为private级别,另一个为public级别,那么该元组遵循最小原则,它的访问级别为private
。”
此外 元组是值类型,复制后,原变量值不变。
还有不清楚的地方可以精读 apple document
网友评论