Swift(二)控制流
![](https://images0.cnblogs.com/blog2015/741774/201505/101436427207448.png)
注意
以上代码,temaScore自己占了一行代码。这是在playground里看变量值的简单方法。
在if语句里,条件必须是一个Boolean表达式——意思是像 if score { … } 这种写法是错的,因为不能隐式地转换为0值。
你可以把 if 和 let 一起使用来处理可能不明确的值。这些值表示为可选值。可选值要么包含一个值,要么包含 nil ,表明这个值是不明确的。在值的类型后加上问号 (?) 来标记这个值是可选的。
![](https://images0.cnblogs.com/blog2015/741774/201505/101437098455528.png)
试一试
将 optionalName 改为 nil。 greeting 是什么值? 再加一个 else
语句,如果 optionalName 是 nil ,将 greeting 设置一个不同的值。
如果可选值是 nil ,条件就为false,花括弧里的代码就会被跳过。否则,可选值被开启(unwrapped,博主注:这里的unwrapped实在不知道该如何翻译更好,这个词的原意为打开、展开,直接翻译过来感觉怪怪的,暂时称之为开启吧,貌似有的文章翻译为解析)并赋给 let 后面的常量,这个常量就可以使的开启值用在代码块里了。
switch支持任何种类的数据和大量的比较操作——可并不是只限于整型和测试是否相等。
试一试
试试把default那一部分去掉。看看会有什么错误?
注意看一下 let 是怎么用来将匹配模式部分的值赋给常量的。
匹配switch case 的代码执行完以后,程序从switch语句跳出。不会执行下一个case,所以没有必要在每个case结束部分代码处显示的跳出switch。
通过提供一组用于各个键值对的名称,用 for-in 来遍历字典。字典是无序集合,所以它们的键和值通过字母表顺序来进行遍历。
试一试
增加一个变量来追踪哪种数是最大的,还有这个最大的数是多少
用 while 来重复执行一段代码直到条件改变。循环的条件也可以放到最后,以保证循环至少执行一次。
你可以在循环里维持一个索引——要么使用 ..< 创建一套索引或者要么写一个显示的初始化、条件和递进。这两种循环是一样的:
用 ..< 创建的索引忽略最大值,用 … 创建的索引包含最大值。
Swift(二)控制流的更多相关文章
- Swift(二,元组,可选类型,类型转化)
一,首先,元组是Swift中特有的,OC中没有元组相关类型,具体怎么用,看下面的例子吧 //1.使用元组来定义一组数据 let infoTuple = (,1.8) let nameTuple = i ...
- URL Handle in Swift (二) — 响应链处理 URL
最后更新: Swift4时候的博客,以前在 CMD markdown 上编辑的,现在搬到这里 在上篇文章-URL Handle in Swift (一) -- URL 分解中,我们已经将URL进行了分 ...
- Swift 二维码扫描 简单实现
3.30看视频 学到了二维码简单的实现 还有一些动画的实现 今天就先记录一下二维码扫描的简单实现 不太好记手写一遍 学习的基础在于模仿嘛 创建一个实现二维码扫描的步骤 1.首先是懒加载创建 会话 ...
- Swift(二)基础部分
数据类型 Swift 包含了 C 和 Objective-C 上所有基础数据类型.它还增加了 Objective-C 中没有的高阶数据类型比如元组(Tuple) 1.基础类型 Int整形和UInt无符 ...
- Swift轻松入门——基本语法介绍和详细地Demo讲解(利用WebView打开百度、新浪等网页)
转载请务必注明出处(all copyright reserved by iOSGeek) 本文主要分为两个部分,第一部分介绍Swift的基本语法,第二部分讲解一个利用WebView来打开百度.sina ...
- Swift入门篇-集合
一:数组 一:可变数组 定义:数组使用有序列表存储相同类型的多重数据. 格式: 第一种格式 var 变量: 类型[] = [变量值,变量值,...] 第二种格式 var 变量 =[变量值,变量值,.. ...
- Swift入门篇-基本类型(3)
一:元组 格式 变量或常量关键字 元组变量 = ( 变量,变量, …) 说明: : 元组变量还是一个变量,只不过表现方式和其他变量不一样 :()括号里面可以放入N个变量组成 例子: import Fo ...
- Swift入门篇-基本类型(2)
现在我也在学习Swift语言,常常去逛很多苹果社区和论坛,看到了圈子很多奇怪的现象,发现很多人都赶忙去翻译 Swift书籍 和 发布Swift的视频 .他们这种对新知识的探索精神我本人是很佩服的.但是 ...
- [iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01
注:CocoaChina翻译小组已着手此书及相关资料的翻译,楼主也加入了,多人协作后的完整译本将很快让大家看到. 翻译群:291864979,想加入的同学请进此群哦.(本系列不再更新,但协作翻译的进度 ...
- Swift 新语言开发
全书文件夹: 一.Welcome to Swift 二.Language Guide 三.Language Reference /* 译者的废话: 几个小时前熬夜看了WWDC,各种激动,今年非常有料啊 ...
随机推荐
- [NOIP2011] 洛谷P1313 计算系数
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- android中bitmap图片与二进制,String间的转化
1, public Bitmap stringtoBitmap(String string) { // 将字符串转换成Bitmap类型 ...
- 通过quick2wire使用raspi的i2c和ks103通信
原文:http://www.cnblogs.com/hangxin1940/archive/2013/04/04/2999015.html 之前介绍了如何启用i2c设备 http://www.cnbl ...
- 8.Java web—JSP基本语法
1)脚本标识 <%-- <%@这两都之间不能为空格 ,但page前面可以任意空格 --%> <%@ page language="java" content ...
- oracle内核学习总结
http://blog.csdn.net/bcbobo21cn/article/category/3092145/1
- 使用MVP模式重构代码
之前写了两篇关于MVP模式的文章,主要讲得都是一些概念,这里谈谈自己在Android项目中使用MVP模式的真实感受,并以实例的形式一起尝试来使用MVP模式去重构我们现有的代码. 有兴趣的童鞋可以先去阅 ...
- remove_if的问题
#include<iostream> #include<list> #include<algorithm> #include"PRINT_ELEMENTS ...
- centos 7 卸載 mysql
跟網上文章,安裝了一個mysqlwget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 記下卸載過程: 首先执行查看命令 ...
- Android开发系列(二十一):Spinner的功能和使用方法以及实现列表选择框
Spinner是一个列表选择框.相当于弹出一个菜单供用户进行选择. Spinner继承AdapterView Spinnet支持的XML的属性: android:entries:使用数组资源设置该下拉 ...
- linux的主分区与逻辑分区的关系
主分区和扩展分区的差别在于主分区位于硬盘的最開始.MBR 扇区的位置.这个位置的数据在计算机启动时.会自己主动被 BIOS 读取而且运行,也就是说这个位置的分区表会自己主动被 BIOS 读取到内 ...