问答详情
源自:4-1 Swift 2.0逻辑控制之循环结构 - for-in,for

swift 2.2 去掉了C-Style的for循环

swift 2.2 去掉了C-Style的for循环,是不是以后就没有改变步长的逻辑可用了?

提问者:zhangweifang 2016-06-06 13:53

个回答

  • liuyubobobo
    2016-06-08 12:04:06
    已采纳

    在swift2.2中,不仅没有了C-style的循环,而且连++,--运算符都取消掉了。此时,实现改变步长的逻辑,需要使用整型的stride函数。比如,最基本的,实现递减循环,见如下代码:

    for i in 10.stride (through: 0, by: -1) {
        print("\(i)")
    }


    10.stride (through: 0, by: -1),表示从10到0(through),每次递减1。

    其他改变步长的逻辑依此类推。

  • 慕移动9181930
    2022-03-26 08:03:00

    希望你继续支持慕课网:P

  • CrakcerSW
    2018-06-12 23:53:44

    for i in 1... {

        print(i);

    }

    这样写竟然被允许 ,这是一个死循环,应该报错,或者警告吗?

  • 掃地僧
    2016-09-21 08:20:18

    不对 3.0 好像也用不了了

    for i in stride(from :0, through: 10, by: 1){

        print(i*i)

    for i in stride(from: 1, to: 2, by: 0.1){

        print(i)

    }

     这两种是被推荐的,前者包含区间上限,后者不包含区间上限

  • 掃地僧
    2016-09-21 07:20:13

    6666