Swift控制流

概览

  Swift
的条件语句包含ifswitch,循环语句包含for-inforwhiledo-while,循环/判断条件不需要括号,但循环/判断体(body)必需括号:


1 let individualScores = [75, 43, 103, 87, 12]
2 var teamScore = 0 for score in individualScores {
3 if score > 50 {
4 teamScore += 3
5 } else {
6 teamScore += 1
7 }
8 }

可空类型

  结合iflet,可以方便的处理可空变量(nullable
variable)。对于空值,需要在类型声明后添加?显式标明该类型可空。


1 var optionalString: String? = "Hello"
2 optionalString == nil
3
4 var optionalName: String? = "John Appleseed" var gretting = "Hello!" if let name = optionalName {
5 gretting = "Hello, \(name)"
6 }

灵活的
switch

  Swift
中的switch支持各种各样的比较操作:


1 let vegetable = "red pepper" switch vegetable {
2 case "celery":
3 let vegetableComment = "Add some raisins and make ants on a log." case "cucumber", "watercress":
4 let vegetableComment = "That would make a good tea sandwich." case let x where x.hasSuffix ("pepper"):
5 let vegetableComment = "Is it a spicy \(x)?" default:
6 let vegetableComment = "Everything tastes good in soup."
7 }

其它循环

  for-in除了遍历数组也可以用来遍历字典:


 1 let interestingNumbers = [
2 "Prime": [2, 3, 5, 7, 11, 13],
3 "Fibonacci": [1, 1, 2, 3, 5, 8],
4 "Square": [1, 4, 9, 16, 25],
5 ]
6 var largest = 0 for (kind, numbers) in interestingNumbers {
7 for number in numbers {
8 if number > largest {
9 largest = number
10 }
11 }
12 }
13 largest

while循环和do-while循环:


1 var n = 2 while n < 100 {
2 n = n * 2
3 }
4 n
5
6 var m = 2 do {
7 m = m * 2
8 } while m < 100
9 m

Swift
支持传统的for循环,此外也可以通过结合..(生成一个区间)和for-in实现同样的逻辑。


1 var firstForLoop = 0 for i in 0..3 {
2 firstForLoop += i
3 }
4 firstForLoop
5
6 var secondForLoop = 0 for var i = 0; i < 3; ++i {
7 secondForLoop += 1
8 }
9 secondForLoop

注意:Swift
除了..还有.....生成前闭后开的区间,而...生成前闭后闭的区间。

Swift控制流,布布扣,bubuko.com

时间: 2024-10-16 12:38:58

Swift控制流的相关文章

关于swift控制流

控制流 if Swift 中没有 C 语言中的非零即真概念 在逻辑判断时必须显示地指明具体的判断条件 true / false if 语句条件的 () 可以省略 但是 {} 不能省略 let num = 200 if num < 10 { print("比 10 小") } else if num > 100 { print("比 100 大") } else { print("10 ~ 100 之间的数字") } 三目运算 Swif

Swift 控制流

1.for in 循环 for 被乘数 in 1...5{ println("\(被乘数)乘以5是\(被乘数*5)") } 当不需要第一个变量的时候可以使用 _ 代替,比如 求3的10次方 let 底=3 let 幂=10 var 结果=1 for _ in 1...10{ 结果=结果*底 } let 女神们=["小琳","芳芳","冰冰","菲菲"] for 女神 in 女神们{ println(女神)

The Swift Programming Language-官方教程精译Swift(6)控制流--Control Flow

Swift提供了类似C语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行不同代码分支的if和switch语句,还有控制流程跳转到其他代码的break和continue语句. 除了C里面传统的 for 条件递增循环,Swift 还增加了 for-in 循环,用来更简单地遍历数组(array),字典(dictionary),范围(range),字符串(string)和其他序列类型. Swift 的 switch 语句比 C 语言中更加强大.在 C 语言中,如果某个

swift 简单语句 控制流语句

在 Swift 中.有两种类型的语句:简单语句和控制流语句.简单语句是最常见的.用于构造表达式和声明.控制流语句则用于控制程序运行的流程,Swift 中有三种类型的控制流语句:循环语句.分支语句和控制传递语句. 循环语句用于反复运行代码块.分支语句用于运行满足特定条件的代码块:控制传递语句则用于改动代码的运行顺序.在稍后的叙述中,将会具体地介绍每一种类型的控制流语句. 是否将分号(;)加入到语句的结尾处是可选的.但若要在同一行内写多条独立语句,请务必使用分号. GRAMMAR OF A STAT

7.Swift教程翻译系列——控制流之循环

英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 Swift提供了类C语言类似的控制流结构.包括for循环和while循环来多次执行任务,if和switch语句根据不同的条件执行不同的分支代码,break和continue语句将执行流程跳转到其他语句. 除了C里面传统的for-条件-递增循环,Swift还增加了for-in循环使得遍历数组,字典,范围,字符串或者其他序列都很简单. Swift的switch语句也要比C语言的sw

swift基础语法(控制流、可选类型、switch、循环、开闭空间)

1 // Playground - noun: a place where people can play 2 3 import Cocoa 4 5 //控制流 6 7 //Swift的条件语句包括if和switch,循环语句包含for-in.for.while和do-while,循环/判断条件不需要括号,但循环/判断体(body)必需括号: 8 let individualScores = [75, 43, 103, 87, 12] 9 var teamScore = 0 10 for sco

8.Swift教程翻译系列——控制流之条件

3.条件语句 经常会需要根据不同的情况来执行不同的代码.你可能想要在发生错误的时候执行一段额外的代码,或者当某个值变得太高或者太低的时候给他输出出来.要实现这些需求,你可以使用条件分支. Swift提供两种方式来实现条件分支,也就是if语句和switch语句.一般来说If用在可能的情况比较少的简单条件中,当遇到复杂条件有很多种可能性的时候使用switch会更好,或者要根据模式匹配来判断要执行什么代码的时候switch也很有用. if语句 if的最简单形式只有一个单独的if条件,只有当条件为tru

Swift学习笔记 - 教程学习四 控制流(Control Flow)

4 控制流(Control Flow) 4.1 For-In Loops 用for-in循环遍历一个序列,如一组连续数.数组元素.字符串中字符等. for index in 1...5 { print("\(index) times 5 is \(index * 5)") } // 1 times 5 is 5 // 2 times 5 is 10 // 3 times 5 is 15 // 4 times 5 is 20 // 5 times 5 is 25 index是一个在每次循

Swift 学习- 06 -- 控制流

// 控制流 // swift 提供了多种控制流结构,包括可以多次执行的 while 循环,基于特定条件选择执行不同分支的 if, guard 和 switch 语句,还有控制流程跳转到其它代码位置的 break 和 continue 语句 // swift 还提供了了 for-in 循环,用来更简单地遍历数组(array), 字典(dictionary), 区间(range), 字符串(String) 和其它序列类型 // swift 的switch 语句比C语言中更加强大, 在C语言中,如果