微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift学习笔记(三)控制流

1.for-in 循环语句

for index in 1...5 {
   println("\(index) times 5 is \(index * 5)")
}

2.如果你不需要序列中的每一个值,你可以使用下划线来代替

let base = 3
let power = 10
var answer = 1
for _ in 1...power {
    answer *= base
}

3.使用for-in去迭代遍历数组

let names = ["Anna","Alex","Brian","Jack"]
for name in names {
//    println("Hello,\(name)!")
}

4.for-in去迭代遍历字典

let numberOfLegs = ["spider": 8,"ant": 6,"cat": 4]
for (animalName,legCount) in numberOfLegs {
//    println("\(animalName)s have \(legCount) legs")
}

5.for循环 (不能使用let,因为index自增)

for var index = 0; index < 3; ++index {
    println("index is \(index)")
}

6.If语句

var temperatureInFahrenheit = 30
if temperatureInFahrenheit <= 32 {
    println("It's very cold. Consider wearing a scarf.")
}

7.Switch

let someCharacter: Character = "e"
switch someCharacter {
case "a","e","i","o","u":
    println("\(someCharacter) is a vowel")
case "b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","y","z":
    println("\(someCharacter) is a consonant")
default:
    println("\(someCharacter) is not a vowel or a consonant")
}

8.switch元组

let somePoint = (1, 1)
switch somePoint {
case (0, 0):
    println("(0,0) is at the origin")
case (_, 0):
    println("(\(somePoint.0),0) is on the x-axis")
case (0,_):
    println("(0,\(somePoint.1)) is on the y-axis")
case (-2...2, -2...2):
    println("(\(somePoint.0),\(somePoint.1)) is inside the Box")
default:
    println("(\(somePoint.0),\(somePoint.1)) is outside of the Box")
}

9.switch的case中可以使用where

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")
}
// prints "(1,-1) is on the line x == -y"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐