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的更多相关文章

  1. 【读书笔记】A Swift Tour

    素材:A Swift Tour 推荐下载Playground:Download Playground objc 自己较为熟悉,想熟悉下风头正劲的 swift.就先从官方的入门手册开始撸. 每一小节,我 ...

  2. A swift Tour

    传统的认为,一个新的语言的第一个应用程序都会打印"Hellow,Word",在Swift中,可以只需要一行代码: pringln("Hello, word") ...

  3. 冷市攻略:Listo 教你 25 今天的社会 Swift 语言 - 02 Swift Tour

    import Foundation //******************************************************************************** ...

  4. SSIS的 Data Flow 和 Control Flow

    Control Flow 和 Data Flow,是SSIS Design中主要用到的两个Tab,理解这两个Tab的作用,对设计更高效的package十分重要. 一,Control Flow 在Con ...

  5. Control Flow 如何处理 Error

    在Package的执行过程中,如果在Data Flow中出现Error,那么Data Flow component能够将错误行输出,只需要在组件的ErrorOutput中进行简单地配置,参考<D ...

  6. 关于Control flow

    1.一个package包含一个control flow并且一个或多个data flow. (这个项目叫做 Integration services project,提供了三种不同类型的control  ...

  7. Swift Tour 随笔总结 (3)

    关于Optional的Control Flow if let constantName = someOptional { statements } 如果该Optional为nil,则不进入if,否则执 ...

  8. Swift Tour 随笔总结 (1)

    let Constant var Variable let implicitInteger = 70 let implicitDouble = 70.0 let explicitDouble: Dou ...

  9. Core Java Volume I — 3.8. Control Flow

    3.8. Control FlowJava, like any programming language, supports both conditional statements and loops ...

随机推荐

  1. 求助:IIS中部署WCF,生成的WSDL中怎么把“计算机名”改成IP==找到一个解决办法

    环境:win2003 IIS6 VS2008 求助: 如图: 有朋友遇到过这个问题吗?还是说这个不是问题? 先 谢谢了! 补充配置文件: 代码 目前解决办法: 修改IIS的配置: 如图: 解决后的ws ...

  2. LittleTools之批量替换工具

    身为程序员,有很多事情都可以交给机器来做,这样可以提高工作效率. 在此先写个批量替换工具,用来将某些对象统一替换为另一对象. 比方说场景中摆了一堆树,位置.比例.旋转都已经调好了,但是对树的样式不太满 ...

  3. HADOOP2.2.0安装配置指南

    一.     集群环境搭建 这里我们搭建一个由三台机器组成的集群: Ip地址 用户名/密码 主机名 集群中角色 操作系统版本 192.168.0.1 hadoop/hadoop Hadoop-mast ...

  4. 代码-Weka的决策树类J48

    package kit.weka;   /** * desc:试试Weka的决策树类 * <code>J48Test</code> * */ import java.io.Fi ...

  5. 事件demo

    delegate void MoveEventHandle(object source,MoveEventArgs e); public class MoveEventArgs:EventArgs { ...

  6. glance image cache

    The Glance Image Cache The Glance API server may be configured to have an optional local image cache ...

  7. Android核心基础(四)

    1.联系人表结构 添加一条联系人信息 package com.itheima.insertcontact; import android.app.Activity; import android.co ...

  8. [三]SpringMvc学习-封装、乱码问题、重定向、转发

    1.对象属性自动封装 前台input 用对象的属性名,后台自动会封装为对象,类似struts 2.解决post乱码问题 在web.xml中配置过滤器 <filter> <filter ...

  9. tensorflow 实现线性方程

    下面的直接是代码: #!usr/bin/env python#coding:utf-8"""这个代码的作用是 通过 tensorflow 来计算 y = 0.3x + 0 ...

  10. JBPM流程实例(PI)Process Instance

    /** * 流程实例 *    *  启动流程实例 *    *  完成任务 *    *  查询 *      *  查询流程实例 *      *  查询任务 *          *  查询正在 ...