前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Swift 基本语法04-"switch"和"for"

Swift 基本语法04-"switch"和"for"

作者头像
用户1890628
发布2018-05-10 14:51:23
7770
发布2018-05-10 14:51:23
举报
文章被收录于专栏:Objective-CObjective-C

一个iOS开发初级菜鸡.png

Swift 基本语法01-Swift简介 Swift 基本语法02-"let"和"var" Swift 基本语法03-"if let"和"guard let" Swift 基本语法05-"String" Swift 基本语法06-数组和字典

1. switch 语法简介

1> switch可以针对任意类型的值进行分支,不再局限整数

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()
    
    demo(num: "10")
}

func demo(num: String) {
    
    switch num {
    case "10":
        print("优")  // 输出结果:优
    default:
        print("一般")
    }
}

2> switch一般不需要break

OC版本:

代码语言:javascript
复制
switch (num) {
    case 10:
    {
        NSLog(@"优");
    }
        break;
        
    default:
        break;
}

swift 版本:

代码语言:javascript
复制
switch num {
case "10":
    print("优")
default:
    print("一般")
}

3> swift如果要多值,使用,分隔

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()
    
    demo(num: "9")
}

func demo(num: String) {
    
    switch num {
    case "10", "9":
        print("优")  // 输出结果:优
    default:
        print("一般")
    }
}

4> 所有的分支至少需要一条指令,如果什么都不干,才用break

代码语言:javascript
复制
switch num {
case "10", "9":
    print("优")
/**
 * 1.如果只写(case "8":)会出现红色错误提示:'case' label in a 'switch' should have at least one executable statement
 * 2.根据提示点击修复,会自行添加'break'
 */
case "8": break
default:
    print("一般")
}
2. for 循环

1> 传统的for循环在swift 3.0已经被取消,i++ / ++i也从swift 3.0被取消

代码语言:javascript
复制
// C-style for statement has been removed in Swift 3
// '++' is unavailable: it has been removed in Swift 3
for var i = 0; i < 10; i++ {
    
}

Extension: i++会多一个临时变量,i++大多数程序员使用,而++i一般是 C++/C 程序员使用。 现在代码已经对i++++i进行改进,没有性能上的太大区别,我们用的时候,只需要记住i++是后加,++i是先加就可以了(swift里已经取消)。

代码语言:javascript
复制
num = i++  等价代码
temp = i
num = temp
i = temp + 1

num = ++i 等价代码
i = i + 1
num = i

2> swift里面的for循环

代码语言:javascript
复制
// 变量'i'在[0,5)进行循环
// 注意:(0..<5)之间不能乱插入空格,不然会报错
for i in 0..<5 {
    print(i)    // 输出:0,1,2,3,4
}

print("======")

// 变量'i'在[0,5]进行循环
for i in 0...5 {
    print(i)    // 输出:0,1,2,3,4,5
}

3> 范围定义是一个固定的格式,一定要遵守规范

代码语言:javascript
复制
// CountableRange<Int>
let r1 = 0..<5
print(r1)   // 输出:0..<5

// CountableClosedRange<Int>
let r2 = 0...5
print(r2)   // 输出:0...5

4> for循环反向输出-reversed()

代码语言:javascript
复制
// 反向输出 reversed()
for i in (0..<10).reversed() {
    print(i)    // 输出:9,8,7,6,5,4,3,2,1,0
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.05.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. switch 语法简介
  • 2. for 循环
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档