swift 元组

在swift里面有这么个好玩的东西 - 元组(tuples). 

它可以包含不同的数据类型组成一个复合值,同时也可以像json对象或者dictionary一样,指定键值。同时也可以像属性一样获取键值。

见识一下:

let http404Error = (404, "Not Found")
let http200Status = (statusCode:200,description:"OK")

2种初始方式,可以直接将值组合,也可以按键值对组合。

如果是值组成的复合值获取时,可以:

        let http404Error = (404, "Not Found")
        
        let (statusCode,statusMessage) = http404Error
        
        println("Code: \(statusCode) \t Message: \(statusMessage)")

也可以:

let http404Error = (404, "Not Found")
println("Code: \(http404Error.0) \t Message: \(http404Error.1)")

如果是按键值对组成的复合值,就可以按属性的形式访问来获取相关值:

        let http200Status = (statusCode:200,description:"OK")
        
        println("Code: \(http200Status.statusCode) \t Message: \(http200Status.description)")

  

总结:

1)元组在某些时候非常有用,但它毕竟是个临时复合值。按官方:

作为函数返回值时,元组非常有用。一个用来获取网页的函数可能会返回一个(Int, String)元组来描述是否获取成功。和只能返回一个类型的值比较起来,一个包含两个不同类型值的元组可以让函数的返回信息更有用。

元组在临时组织值的时候很有用,但是并不适合创建复杂的数据结构。如果你的数据结构并不是临时使用,请使用类或者结构体而不是元组。

2)元组在初始化时,使用的是(),而非其它的<>(Dictionary的类型声明需要使用<>)或者[](数组Array或者Dictionary构造时需要使用[])

3)元组是可以直接保存多种数据类型的数据,并组成一个复合值的。这个是最显著的一个特征,也是非常有帮助的。

 

posted on 2014-06-18 00:57  房客  阅读(706)  评论(0编辑  收藏

导航