"&安培;" in" swap(& someInt,& anotherInt)"。它代表什么?它的功能是什么?

时间:2016-02-17 06:30:46

标签: swift inout

我是斯威夫特的新手,我正在努力学习' inout'关键词。我在" swift编程语言2.1"中看到了这段代码。我的问题是,为什么会有"&" in" swap(& someInt,& anotherInt)"。它代表什么?它的功能是什么?

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

var someInt = 3
var anotherInt = 107
swap(&someInt, &anotherInt)

print("someInt is now \(someInt) and anotherInt is now \(anotherInt)")

1 个答案:

答案 0 :(得分:1)

就像在C ++中通过引用传递一样,代码调用位中的&符号告诉编译器您允许函数swapTwoInts更改someIntanotherInt。如果您没有将&符号放在那里,则代码将无法编译。