SWIFT学习笔记05

来源:互联网 发布:emacs for mac os x 编辑:程序博客网 时间:2024/05/13 12:45
1、Swift 无需写break,所以不会发生这种贯穿(fallthrough)的情况。2、//用不到变量名,可用“_”替换
for _ in 1...power{    answer *= base}

3、case 可以匹配更多的类型模式,包括区间匹配(range matching),元组(tuple)和特定类型的描述。
可以这样用case
case 1...3:naturalCount = "a few"

4、如果存在多个匹配,那么只会执行第一个被匹配到的 case 分支,剩下的能够匹配的 case 分支都会被忽视掉。

5、case值绑定,此例子都没必要用default
let anotherPoint = (2, 0)switch anotherPoint {case (let x, 0):println("on the x-axis with an x value of \(x)")case (0, let y):println("on the y-axis with a y value of \(y)")case let (x, y):println("somewhere else at (\(x), \(y))") } // 输出 "on the x-axis with an x value of 2"

6、//当且仅当where语句的条件为true时,匹配到的 case 分支才会被执行。
let yetAnotherPoint = (1, -1)switch yetAnotherPoint{case let (x, y)where x == y:println("(\(x), \(y)) is on the line x == y")case let (x, y) where x == -y:println("(\(x), \(y)) is on the line x == -y")case let (x, y):println("(\(x), \(y)) is just some arbitrary point")} // 输出 "(1, -1) is on the line x == -y"

2014年07月03日



0 3
原创粉丝点击