A swift Tour(2) Control Flow
Control Flow
用 if 和 switch 来做条件语句,并且用for-in,for,while,和do-while做循环,条件和循环的括号是可以不写的,但是body外面的括号是必须写的
let individualScores = [,,,,]
var teamScore =
for score in individualScores{
if score > {
temScore +=
} else {
tempScore +=
}
}
teamScore
在 if 语句中,条件必须是一个boolean 表达式,意思就是这个代码如果是 if socre { ... }则是错误的,不能够隐式和0比较
可以使用 if 和 let 来锁定变量的值,在变量声明类型的后面加上问号 ? 标记该变量是可选择的
var optionalString: String?="Hello"
optionalString == nil
var optionaLName: String?="John Appleseed"
var greeting = "hello!"
if let name = optionlName {
greeting = "Hello, \(name)"
}
设置optionalName 为nil 看看是什么结果?
如果这个optional value为nil,则这个条件是 false 并且这个代码节点会被跳过,在其他情况下,这个optional value赋值给 let 常量之后,这使得在if结构中的代码可以执行
switch 支持任何类型的数据和各种各样的操作,他们并不局限于integer类型和检测相等,如下:
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."
}
执行条件相匹配的结构块中的代码后,程序会退出switch语句,不会执行下一个case
你使用for-in语句遍历字典中的项目,给他们提供一个键值:
let interestingNumbers = [
    "Prime":[,,,,,]
    "Fibonacci": [,,,,,]
    "Square": [,,,,]
]
var largest =
for (kind, numbers) in interestingNumbers{
   for number in numbers{
      if(number > largest)
      {
          largest = number
      }
   }
}
largest
用while来循环代码块,直到条件的变化,一个循环的条件可以在最后替换,从而确定少执行一次:
var n =
while n < {
n = n*
}
n var m =
do {
m = m*
}while m <
m
你也可以用..来做一个范围的集合,通过写一个显式的初始化索引,条件和增量,来判断,下面两个都是:
var firstForLoop =
for i in ..{
firstForLoop += i
}
firstForLoop var secondForLoop =
for var i = ; i<; i++{
secondForLoop += i
}
secondForLoop
使用.. 做一个范围
A swift Tour(2) Control Flow的更多相关文章
- 【读书笔记】A Swift Tour
		素材:A Swift Tour 推荐下载Playground:Download Playground objc 自己较为熟悉,想熟悉下风头正劲的 swift.就先从官方的入门手册开始撸. 每一小节,我 ... 
- A  swift Tour
		传统的认为,一个新的语言的第一个应用程序都会打印"Hellow,Word",在Swift中,可以只需要一行代码: pringln("Hello, word") ... 
- 冷市攻略:Listo 教你 25 今天的社会 Swift 语言 - 02 Swift Tour
		import Foundation //******************************************************************************** ... 
- SSIS的 Data Flow 和 Control Flow
		Control Flow 和 Data Flow,是SSIS Design中主要用到的两个Tab,理解这两个Tab的作用,对设计更高效的package十分重要. 一,Control Flow 在Con ... 
- Control Flow 如何处理 Error
		在Package的执行过程中,如果在Data Flow中出现Error,那么Data Flow component能够将错误行输出,只需要在组件的ErrorOutput中进行简单地配置,参考<D ... 
- 关于Control flow
		1.一个package包含一个control flow并且一个或多个data flow. (这个项目叫做 Integration services project,提供了三种不同类型的control ... 
- Swift Tour 随笔总结 (3)
		关于Optional的Control Flow if let constantName = someOptional { statements } 如果该Optional为nil,则不进入if,否则执 ... 
- Swift Tour 随笔总结 (1)
		let Constant var Variable let implicitInteger = 70 let implicitDouble = 70.0 let explicitDouble: Dou ... 
- Core Java Volume I — 3.8. Control Flow
		3.8. Control FlowJava, like any programming language, supports both conditional statements and loops ... 
随机推荐
- Nginx与X-Sendfile
			X-accel模块允许由后台通过返回的头来决定投递静态文件.为什么要这么做呢?试想一下我们经常碰到的这种情况,在有的论坛中,下载资源需要登录认证.权限核查.积分扣除或者是积分增加等等,对于Nginx来 ... 
- STSdb
			打开数据库并写入数据 ? using (StorageEngine engine = new StorageEngine("stsdb4.sys", "stsdb4.da ... 
- Cookie的Domain
			每个Cookie都有常用的几个元素:name.value.expires.domain Cookie的Domain 设置cookies时,可以设置cookie的域名参数domain,标识cookie在 ... 
- Android之parseSDKContent failed
			由于之前安装ADT之后就一直报parseSDKContent failed的错误,具体的信息为:java.lang.NullPointerException. 此问题的情况为在Eclipse下,And ... 
- 独立线程中实现QT GUI
			在网上搜集的资料: http://www.qtcentre.org/threads/16552-Starting-QT-GUI-in-a-seperate-Threadhttp://stackover ... 
- Problem - 433C - Codeforces解题报告
			对于这题本人刚开始的时候的想法是:先把最大两数差的位置找到然后merge计算一个值再与一连串相同的数做merge后计算一个值比较取最大值输出:可提交后发现不对,于是本人就搜了一下正解发现原来这题的正确 ... 
- bss段为什么要初始化,清除
			我们都知道bss段需要初始化,但是这是为什么呢? 通过浏览资料,我们都会发现,bss段是不会出现在程序下载文件(*.bin *.hex)中的,因为全都是0.如果把它们出现在程序下载文件中,会增加程序下 ... 
- sensor的skipping and binning 模式
			关于sensor的缩放存在两种模式 binning mode 和skip mode skipping mode 就是把想要的数据采集上来 把其余的数据扔掉 如下所示 column skip 2 row ... 
- HW5.21
			import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ... 
- 教程-脚本之Python
			1.百度python就可以下载到最新版本(Python3.3) PS:我发现用2.7版本写的py文件用 Python3.3打开时,提示错误(print2.7不需要括号3.3必须加括号).2. ... 
