swift学习之关键字inout

前端之家收集整理的这篇文章主要介绍了swift学习之关键字inout前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一般参数仅仅是在函数内可以改变的,当这个函数执行完后变量就会被销毁,不会有机会改变函数以外的变量,那么我们就会产生一个疑问,我们可不可以通过一个函数改变函数外面变量的值呢?答案是肯定的,这时我们就需要用到inout关键字了

声明函数时,在参数前面用inout修饰,在函数内部实现改变外部参数,注意,这里只能传入变量,不能传入常量和字面量,因为这些是不能变的一旦定义,当我们传入的时候,在变量名字前面用&符号修饰表示,传递给inout参数,表明这个变量在参数内部是可以被改变的

注意:inout修饰的参数是不能有默认值的,有范围的参数集合也不能被修饰,另外,一个参数一旦被inout修饰,就不能再被var和let修饰了

override func viewDidLoad() {
        super.viewDidLoad()
        var someInt = 7
        var anotherInt = 107
        swapTwoInts(&someInt,b: &anotherInt)
        print("someInt is \(someInt),anotherInt is \(anotherInt)")
    }

    func swapTwoInts(inout a:Int,inout b:Int) {
        let temp = a
        a = b
        b = temp
    }

猜你在找的Swift相关文章