首页 > 代码库 > SWIFT学习笔记05
SWIFT学习笔记05
1、Swift 无需写break,所以不会发生这种贯穿(fallthrough)的情况。2、//用不到变量名,可用“_”替换
3、case 可以匹配更多的类型模式,包括区间匹配(range matching),元组(tuple)和特定类型的描述。
可以这样用case
4、如果存在多个匹配,那么只会执行第一个被匹配到的 case 分支,剩下的能够匹配的 case 分支都会被忽视掉。
5、case值绑定,此例子都没必要用default
6、//当且仅当where语句的条件为true时,匹配到的 case 分支才会被执行。
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日
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。