iOS开发(Swift)总结17 - 常用的控制转移语句

第2部分 故事的进阶要素 - 编程语言Swift的进阶部分

5 常用的控制转移语句
5.1 概念通俗讲解
主要给大家介绍continue, break, return三个最常用的控制转移语句
1). continue语句
continue语句的作用是通知正在进行的循环语句,停止目前执行的这一个循环语句,进入下一个循环语句。
2). break语句
break语句的作用是立即结束整个控制流语句
3). return语句
return语句的作用是通知函数结束函数里的代码执行。执行了reurn后,就跳出了函数。函数的相关概念会在后面做具体的讲解。
5.2 定义简洁介绍
1). continue语句
continue语句的作用是通知正在进行的循环语句,停止目前执行的这一个循环语句,进入下一个循环语句。
举例说明

var age = [1,2,3,4,5]
var age2 = [Int]()
for index in age{
    if index == 2{
        continue
    }
    age2.append(index)
}
print(age2)

age2的值是[1, 3, 4, 5]。在index等于2时,通过continue告知这个循环,停止目前执行的这一个循环语句,进入下一个循环语句。所以index等于2时跳出了这个循环,没有执行age2.append(index)。
2). break语句
break语句的作用是立即结束整个控制流语句
举例说明

var age = [1,2,3,4,5]
var age2 = [Int]()
for index in age{
    if index == 2{
        break
    }
    age2.append(index)
}
print(age2)

age2的值是[1]。在index等于2时,通过break告知这个循环,需要立即结束整个控制流语句。所以这个循环在index等于2时就结束了。
后面的age2.append(index)都不会执行了,所以age2最终的值是[1]
3). return语句
return语句的作用是通知函数结束函数里的代码执行。执行了reurn后,就跳出了函数
举例说明

var isBoy = true
func person(){
    if isBoy{
        return
    }
    print("person.")
}
person()

在person函数里,用isBoy来判断是不是男孩,如果没有return语句,会执行print(“person.”)这句代码。加入了return后,因为运行了
return而跳出了函数。print(“person.”)没有运行。
5.3 我的经验总结
1). continue只可以在循环里用,不能放到if语句里。
2). break只可以在循环和Switch控制流里用,不能放到if语句里。
3). return只可以在函数里用,只要是在函数里,是可以放到if,for-in循环,switch等控制流语句里的。
4). 使用return语句一个注意的地方,执行return语句时,不是马上跳出函数。而是会执行完return后面的一行代码后再跳出函数
举例说明

var isBoy = true
func person(){
    if isBoy{
        print("1.")
        print("2.")
        print("3.")
        return
        print("4.")
        print("5.")
        print("6.")
    }
    print("person.")
}
person()

代码是会执行完print(“4.”)后才跳出函数的。
不过如果是if语句外面的代码,就算紧跟着return也是不会执行的
举例

var isBoy = true
func person(){
    if isBoy{
        print("1.")
        print("2.")
        print("3.")
        return}
    print("person.")
}
person()

这里print(“person.”)这一句是不会执行的
5) 在函数里,return某些情况是可以模拟break的。不过用起来并不完全一样,这里需要注意。例如下面的例子运行的结果就不一样:

var age = [1,2,3,4,5]
var age2 = [Int]()
func person(){
    for index in age{
        if index == 2{
            break
        }
        age2.append(index)
    }
    print("函数最后一行代码1")
}
person()
 
func person2(){
    for index in age{
        if index == 2{
            return
        }
        age2.append(index)
    }
    print("函数最后一行代码2")
}
person2()

执行person(),会执行print(“函数最后一行代码1”)这行代码,因为break可以控制当前循环不再执行,但是后面的代码控制不了。
执行person2(),不会执行print(“函数最后一行代码2”)这行代码,因为return是跳出函数,所以后面的代码不再执行了。

注:本人水平和能力有限,如果哪些地方写错了,请大家给我反馈,我会及时修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值