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
    }


版权声明:本文为博主原创文章,未经博主允许不得转载。

文章来自:http://blog.csdn.net/rainshenji/article/details/47189007
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3