zl程序教程

您现在的位置是:首页 >  其他

当前栏目

《Swift开发实战》——第2章,第2.3节流程控制

流程控制开发 实战 swift 2.3
2023-09-11 14:17:42 时间

本节书摘来自异步社区《Swift开发实战》一书中的第2章,第2.3节流程控制,作者 李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.3 流程控制
在本章前面的实例2-1程序中,下面这些都是实现流程控制工作的实现代码。

 switch("abc")

 case "123":

 println("123");

 case "456","abc":

 println("123 abc ");

 default:

 println("没有找到合适的匹配");

 var i:Int = 0;

 while( i 10)

 i++;

 println(i);

 i--;

 println(i);

 }while(i 

 for index in 1...5

 println("index=\(index)");

 }

在Swift语言中,使用关键字if和switch来进行条件判断操作,使用for-in、for、while和do-while来进行循环操作。在Swift程序中,可以省略包含条件和循环变量括号,但是必须保留语句体中的大括号。例如,下面所示的演示代码。

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 做对比。

在Swift语言中,有些变量的值是可选的,一个可选的值可能是一个具体的值或者是nil(此时表示值缺失)。在Swift程序中,可以联合使用if和let来处理值缺失的情况,具体方法是在类型后面加一个问号“?”来标记这个变量的值是可选的。参见如下所示的演示代码。

var optionalString: String? = "Hello"

optionalString == nil

var optionalName: String? = "John Appleseed"

var greeting = "Hello!"

if let name = optionalName {

 greeting = "Hello, \(name)"

}

在Swift语言中,如果变量的可选值是nil,条件会判断为false,大括号中的代码会被跳过。如果不是nil,则会将值赋给let后面的常量,这样在代码块中就可以使用这个值了。

在Swift语言中,关键字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 good tea sandwich."

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

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

default:

 let vegetableComment = "Everything tastes good in soup."

}

在Swift语言中,运行switch中匹配到的子句之后,程序会退出switch语句,不会继续向下运行,所以不需要在每个子句结尾写break。

在Swift语言中,可以使用for-in来遍历字典,需要两个变量来表示每个键值对。参见如下所示的演示代码。

let interestingNumbers = [

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

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

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

var largest = 0

for (kind, numbers) in interestingNumbers {

 for number in numbers {

 if number largest {

 largest = number

largest

在Swift语言中,可以使用while来重复运行一段代码直到不满足条件为止,循环条件可以在开头也可以在结尾。例如,如下所示的演示代码。

var n = 2

while n 100 {

 n = n * 2

var m = 2

 m = m * 2

} while m 100

m

在Swift语言中,可以在循环中使用“..”字符来表示范围,也可以使用传统的写法来实现,这两种方式是完全等价的。例如,如下所示的演示代码。

var firstForLoop = 0

for i in 0..3 {

 firstForLoop += i

firstForLoop

var secondForLoop = 0

for var i = 0; i ++i {

 secondForLoop += 1

secondForLoop

《Swift iOS应用开发实战》——导读 随着Swift语言的到来,这种简单、好用又安全的编程语言将吸引更多的开发者加入,让苹果软件生态圈更加繁荣。如此,“果粉”将可以在App Store和Mac Store中下载到更多称心如意的App。从某种意义上说,Swift语言是苹果的一项新的商业战略。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。