[Swift]语法基础:for循环的使用

学过C语言的都知道,for循环的使用方法,标准的C-Type的for循环,格式如下:

for(int i = 0 ; i < 10; i++){
    
    // 你需要做的操作
}

在OC中还有一个用于遍历集合的for-in循环,其格式为:

for (NSString *string in array) {
        
        NSLog(@"%@",string);
    }

那么,在swift中的for循环又是怎样的呢?

在swift中for循环变得更加强大灵活,写法上也有以上两种方式:

for var i = 0; i < 10; i += 1 {
    
}

for i in 0..<10 {
    
}

只不过,in关键字后可以跟一个区间,"..<"是不包含10的,"..."是包含10的;

但是,在最新的swift中,使用C-Type格式for循环时,Xcode会有警告:


提示我们改为for-in循环;

但是,for-in循环的步长是1,如果我们想每次循环加2怎么办呢?

这就用到了下面这个函数:

stride(to: <Int>, by: <Distance>)

调用者: 就是索引的开始数字,例如:0;

参数to: 就是最大数值,不包含此数值,例如:10;

参数by: 就是步长,每次改变的大小

for i in 0.stride(to: 10, by: 2) {
    
    //
    print(i)
}

这样控制台就会输出:

0
2
4
6
8

当然,如果需要包含最大的数值,可将函数的参数修改一下:

stride(through: <Int>, by: <Int>)

for i in 0.stride(through: 10, by: 2) {
    
    print(i)
}

控制台会输出:

0
2
4
6
8
10

包含了最大的临界值10.

以上,都是从小到大递增的,能不能递减呢?

答案是可以的,只需要用最大的数值去调用stride方法,传入一个较小的结束参数,步长改为负数即可,例如:

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

控制台输出:

10
8
6
4
2
0

(完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值