在Swift中,结构和值类型默认按值传递,就像在C#中一样.但是C#还有一个非常有用的ref关键字,它强制参数通过引用传递,这样可以在函数内部更改同一个实例,然后从调用者的范围访问.有没有办法在Swift中实现相同的结果?
使用inout
限定符作为函数参数.
func swapTwoInts(a: inout Int, b: inout Int) { let temporaryA = a a = b b = temporaryA } swapTwoInts(&someInt, &anotherInt)
请参阅文档中的函数参数和返回值.