Swift 语言简明教程(三) - 控制语句

Swift 语言简明教程(二) - 变量与常量 中,我们了解了 Swift 的变量与常量定义,这次我们来了解一下 Swift 中的控制语句。

与其它高级语言类似,Swift 也主要包括三种控制语句,即:顺序,分支(条件),循环。

与 C/C++ 或 Java 不同的是 Swift 入口函数,在这点上,它更像动态语言,比如:Python, Basic 等。所以经典的 Hello World 的 Swift 版本就变成了如下的形式:

1
print("Hello, World")

对于 print 函数, swift 还让我们通过占位符来输出变量,改写上面的 Hello World 例程:

1
2
var name = "World"
print("Hello, \(name)")

分支 - if 语句

在 swift 中,也主要的分支语句也是我们熟悉的if语句。只是在写法上,连包裹条件表达式的括弧也可以省略,如:

1
2
3
4
var c = 10
if c<10 {
print(c)
}

当然,也有 if-else 的组合,如:

1
2
3
4
5
6
7
var c = 10

if c>10 {
c-=10
} else {
print(c)
}

多分枝:

1
2
3
4
5
6
7
8
9
10
11
if c>0 && c<10 {
print(c)
} else if c<=0 {
c = -c
print(c)
} else if c<=10 && c<20 {
c-=10
print(c)
} else {
print("bigger")
}

分支 - Switch 语句

当然,多分支也可以使用 switch 语句,在 switch 中,和C/C++不同,swift 不仅仅能使用整数作为条件, 如:

使用switch语句进行字符分支判断

1
2
3
4
5
6
7
8
9
10
11
12
var charac:Character = "b"

switch charac {
case "a":
print("chara is a")
case "b":
print("chara is b")
case "c":
print("chara is c")
default ://default用于处理其他额外情况
print("no charac")
}

同一个case中可以包含多个分支,如:

1
2
3
4
5
6
7
8
9
10
var charac:Character = "b"

switch charac {
case "a","b","c" :
print("chara is word")
case "1","2","3" :
print("chara is num")
default :
print("no charac")
}

如果是顺序值,也可以在 case 中使用范围, 如:

1
2
3
4
5
6
7
8
9
var num = 3
switch num {
case 1...3 :
print("1<=num<=3")
case 4 :
print("chara is num")
default :
print("no charac")
}

循环 - for语句

在 swift 中, 控制循环的for语句更接近动态语言(如:Python)的语法而不是 C/C++ 的语法。

基本的一个for语句例程如下:

1
2
3
for index in 1...5 {
print(index)
}

该语句将打印1,2,3,4,5, 注意:是三个“.”, 而不是两个

如果在循环中不需要使用 index, 则可以使用占位符:”_“ 代替变量,这样写:

1
2
3
4
var sum=0;
for _ in 1...3 {
sum += 1
}

当然,for 语句用来迭代集合类型(Set, Dictionary, Array)也很方便。这部分我们在讲集合时再演示。

循环 - repeat-while语句

当不确定循环的次数时,可以使用 repeat-while语句,如:

1
2
3
4
5
6
var j=0

repeat {
print("repeat while")
j+=1
} while j<10

下一步

接下来,我们将简要的介绍 Swift 中的两个特殊类型 - 元组与可选型 Swift 语言简明教程(四) - 元组与可选型

本文标题:Swift 语言简明教程(三) - 控制语句

文章作者:Morning Star

发布时间:2021年04月14日 - 10:04

最后更新:2021年04月16日 - 15:04

原始链接:https://www.mls-tech.info/app/swift/swift-tutorial-3-control-flow/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。