码迷,mamicode.com
首页 > 编程语言 > 详细

swift流程控制

时间:2015-07-01 18:32:58      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:switch   if   for   while   

//: Playground - noun: a place where people can play


import UIKit


//使用 if switch 作为条件控制。使用 for-in for while do-while 作为循环。小括号不是必须的,但主 体的大括号是必需的。


let individualScores = [75, 43, 103, 87, 12]


var teamScore = 0


for score in individualScores {

    if score > 50 {

        teamScore += 3

    } else {

        teamScore += 1

    }

}

teamScore

/* if 语句中,条件必须是布尔表达式,这意味着 if score { ... } 是错误的,不能隐含的与0比较。 你可以一起使用 if let 来防止值的丢失。这些值是可选的。可选值可以包含一个值或包含一个 nil 来指定值还

不存在。写一个问号 "?" 在类型后表示值是可选的。*/


var optionalString: String? = "Hello"

optionalString == nil


var optionalName: String? = "John Appleseed"


var greeting = "Hello"


if let name = optionalName {

    greeting = "Hello,\(name)"

} else {

    greeting = "Word"

}

//如果可选值为 nil ,条件判断为 false,

//switch 支持多种数据以及多种比较,不限制必须是整数

let vegetable = "red pepper"


switch vegetable {

    case "celery":

        let vegetableComment = "Add some raisins and make ants on a log."

    case "cucumber","watercress":

        let vegetableComment = "That would make a goog tea sandwich."

    case let x where x.hasSuffix("pepper"):

        let vegetableComment = "Is it a spicy \(x)?"

    default:

        let vegetableComment = "Everything tastes goog in soup."

}

//可使用 for-in 来迭代字典中的每个元素,提供一对名字来使用每个键值对。

let interestingNumbers = [

    "Prime": [2, 3, 5, 7, 11, 13],

    "Fibonacci": [1, 1, 2, 3, 90, 8],

    "Square": [1, 4, 9, 16, 25],

]

var largest = 0

var str: String?


for (kind, numbers) in interestingNumbers {

    for number in numbers {

        if number > largest {

            largest = number

            str = kind

        }

    

    }

}

largest

str

//使用 while 来重复执行代码块直到条件改变。循环的条件可以放在末尾来确保循环至少执行一次。

var n = 2

while n < 100 {

    n = n * 2

}

n


var m = 2

do {

    m = m * 2

} while m < 100

m

//你可以在循环中保持一个索引,通过 ".." 来表示索引范围或明确声明一个初始值、条件、增量。这两个循环做相同的 事情:

var firstForLoop = 0


for i in 0..<3 {

    firstForLoop += i

}

firstForLoop


var secondForLoop = 0

for var i = 0;i < 3;i++ {

    secondForLoop += 1

}

secondForLoop

//使用 ..< 构造范围忽略最高值,而用 ... 构造的范围则包含两个值。

var num1 = 0

var num2 = 0

for i in 1..<4 {

    num1++

}

num1

for i in 1...4 {

    num2++

}

num2


版权声明:本文为博主原创文章,未经博主允许不得转载。

swift流程控制

标签:switch   if   for   while   

原文地址:http://blog.csdn.net/wa1065908163/article/details/46710727

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!