Swift学习记录(二)
来源:互联网 发布:内链优化 编辑:程序博客网 时间:2024/05/29 08:56
该记录采用的是Swift 3.0版本,Xcode8.2.1,配合某机构教学视频。
四、for循环
// 一般写法for var i = 0; i < 10; i++ { print(i)}// 遍历 0 ~ 9for i in 0..<10 { print(i)}// 遍历 0 ~ 10for i in 0...10 { print(i)}// 表示不关心索引值for _ in 0...10 { print("hello")}
- 小结
Swift
中使用in
关键字标示循环的范围0..<10
表示从0到90...10
表示从0到10- 注意之间不能出现空格
- 如果不关心循环本身的索引,可以使用 _ 忽略
五、switch
Swift
中switch的基本用法和OC
相类似,
switch(需要匹配的值) case 匹配的值: 需要执行的语句 break;
- 不同之处有
OC
判断条件只能是整形。Swift除了整形还可以是对象类型OC
可以穿透。当满足条件时,OC
会实现接下去所有的代码,直到遇到break
为止。Swift
则不会穿透,只会执行满足条件的代码块(即Swift
可以不写break
,OC
不可以不写)OC
可以不写default
,且位置可以随意摆放。Swift
一定要写default
,且位置只能在最后OC
在case
中定义变量需要加大括号, 否则作用域混乱。Swift
不用加大括号OC
中case
只能判断一个条件。Swift
中case
可以判断多个条件
此外在Swift
中case
的可以配合区间和元组
// 区间var num = 10;switch num{ case 1...9: print("个位数") case 10...99: print("十位数") default: print("其它数")}// 元组var point = (10, 15)switch point{ case (0, 0): print("坐标在原点") case (1...10, 10...20): // 可以在元祖中再加上区间 print("坐标的X和Y在1~10之间") case (_, 0): // X可以是任意数 print("坐标的X在X轴上") default: print("Other")}
值绑定
var point = (1, 10)switch point{case (var x, 10): // 会将point中X的值赋值给X print("x= \(x)")case (var x, var y): // 会将point中XY的值赋值给XY print("x= \(x) y= \(y)")//case var(x, y):// print("x= \(x) y= \(y)")default: print("Other")}
根据条件绑定
var point = (100, 10)switch point{ // 只有where后面的条件表达式为真才赋值并执行case后的语句 case var(x, y) where x > y: print("x= \(x) y= \(y)") default: print("Other")}
六、while循环
// 1.while循环// 1> while后面的()可以省略 2>没有非0(nil)即真var a = 10while a > 0 { a -= 1 print(a)}// 2.do while循环// 1> 类型while循环的差别 2>do需要换成repeatrepeat { a += 1 print(a)} while a < 10
0 0
- swift 学习记录(二)
- Swift学习记录(二)
- Swift学习(二)
- swift学习记录(开端)
- swift学习记录(Optional)
- swift学习记录(switch)
- swift学习记录(for)
- swift学习记录(func)
- 操作 swift学习记录(-)
- swift学习记录(selector)
- swift学习记录(in)
- swift 学习记录(一)
- swift 学习记录(三)
- swift 学习记录(四)
- swift学习记录(String)
- swift学习记录(函数)
- swift学习记录(枚举)
- swift 学习记录(继承)
- mac安装mysql遇到问题解决办法
- 全局Application(附带ImageLoader默认图片设置)
- 什么是Elasticsearch?
- 在Windows8.1下安装 Teamviewer12 报错
- 【LeetCode】4.Median Of Two Sorted Arrays
- Swift学习记录(二)
- 数据结构----树状数组----子区间的和
- 关于Hibernate QBC语句逻辑或(or)的查询方法
- leetCode之路——Longest Common Prefix
- 深入研究Android Handler机制
- oracle编码格式从utf-8转换为GBK
- Ubuntu字体太小
- 史上最简单清晰的红黑树讲解
- 蓝桥杯 ADV-69 算法提高 质因数