关于swift中as感叹号的作用

swift中的as!和as?

func mySort(array:inout Array<Any>, sortClosure:(Any,Any)->Bool) -> Array<Any> {
    // 冒泡排序算法
    for indexI in array.indices {
        // 最后一个元素直接返回
        if indexI == array.count-1 {
            break
        }
        // 冒泡排序
        for indexJ in 0...((array.count-1)-indexI-1) {
            // 调用传递进来的闭包算法
            if sortClosure(array[indexJ],array[indexJ+1]) {
                
            }else{
                // 进行元素交换
                array.swapAt(indexJ, indexJ+1)
            }
        }
    }
    return array
}
var array:Array<Any> = [1,4,3,5,7,5,4,2,7]
mySort(array: &array, sortClosure: {(i:Any, nextI:Any) -> Bool in
    return (i as! Int) < (nextI as! Int)
})
print(array)

这里as!就是将i和nextI强制转换成Int型了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值