笔记2:Tuples

元组(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

你可能感兴趣的:(笔记2:Tuples)