天天看点

Swift中文教程(三)--流程控制

  Swift用if和switch编写条件控制语句,用for-in,for,while和do-while编写循环。条件控制语句和循环语句中,小括号是可选的,但花括号包住这个循环体是必须的:

  

  If语句

  在if语句中,条件必须是布尔值,也就是说,if score { ... }这个条件句是错误的,不是一个隐式地与0比较的条件。

  你可以结合if和let来防止这种值的丢失状况。这些值意味着可选,这种可选值要么包含一个具体的值要么包含一个nil(空)来指示它的值是不存在的。在值的类型后面加上?号来表示它为可选即可:

练习: 将 optionalName 赋值为 nil 。会发生什么?添加一个 else 条件句在 optionalName 为 nil 时设置一个不同的值试试。

  一旦可选值为nil,条件为false时,花括号里的代码块将被跳过,否则,可选值将是未封装的并赋值给一个常量,这会让未封装的值在代码块作用域中可见。

  Switch语句

  Switch语句支持任何数据类型而且支持多种比较,不限于整型或相等测试:

移除default语句,看看会报什么错?

  执行满足条件的case语句后,程序自动跳出,所以,无需给每个case语句加上break。

  For-In语句

  使用for-in循环在字典中遍历时,提供一对名字来使用字典中的每一个名值对(如下例的number--numbers):

在上例中,添加一个变量来跟踪哪一个number是最大的,即最大的值是?

  While语句

  使用while语句来重复执行一个代码块直到条件改变。条件可以置于句末以便代码至少执行一次:

  For语句

  for循环中可以使用索引值,利用..(两个点)或者明确声明一个初始值,条件句或增量来限制索引的范围,下面的两个循环意思一样:

  使用 ..(两个点)限制索引的范围并忽略最高值,而用 ...(三个点) 构造的范围则包含两个值。

谢谢,Swifter-QQ群:362232993,同好者进~