swift for 循环

在swift 4.2  中已经舍弃了传统的C语言的for;;循环,替换成更能符合本身语言特性的新形式。

第一种 for - in

这一种是最常用的,可以遍历所有的集合类。如下:

func testFor(){
    let list = [1,2,3,4];
    for idx in list {
        print("idx =\(idx)");
    }
    let dict = ["a":1,"b":2,"c":3];
    for item in dict {
        print("item = \(item)");
    }
}

在控制台输出如下:

idx =1
idx =2
idx =3
idx =4
item = (key: "a", value: 1)
item = (key: "c", value: 3)
item = (key: "b", value: 2)

当遍历字典的时候,会自动转换成元组,包含了key和value,我们也可以自己来通过写一个元组来接收如下:

    let dict = ["a":1,"b":2,"c":3];
    for (key,value) in dict {
        print("key: \(key) value : \(value) ");
        
    }

还有一种区间遍历如下:

    for idx in 0...3 {
        print("idx =\(idx)");
    }

对于这种遍历是swift一个特性,0...3表示,从0到3包含3,如果是0..<3,是0到3但是不包含3。

还以反向遍历如下:

    
    let list = [1,2,3,4];
    for idx in list.reversed() {
        print("idx =\(idx)");
    }

有时候我们需要知道当前遍历数组的下标,那么我们就可以用下列形式:

    let list = ["A","B","C","D"];
    for item in list.enumerated() {
        print("idx =\(item)");
    }
    
    for (idx,item) in list.enumerated() {
        print("下标:\(idx) 值:\(item)")
    }

第二种,跨步遍历,这个是swift另外一个特性。举个例子:

    for idx in stride(from: 0, to: 10, by: 2) {
        print("idx = \(idx)");
        
    }

这个意思是说从0到10,每隔2个遍历一次,输出的结果是:

idx = 0
idx = 2
idx = 4
idx = 6
idx = 8

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值