浅谈swift 中的inout
当我们需要通过一个函数去改变我们所定义的一个函数外的值时,我们可能需要这样做:
var numb1 = 100
var numb2 = 200
func swapTwoInt () {
var tempNum = 0
tempNum = numb2
numb2 = numb1
numb1 = tempNum
}
通过swapTwoInt () 确实可以将 num1 和 num2 的值交换,有时候我们并不知道函数内都干了些什么,也许我们无意中就将我们所定义的值改变了,但是却找不到原因,于是我们想知道我们在哪些方法里用了我们所定义的函数,于是:
func swapTwoInts(_ a:inout Int,_ b: inout Int){
let temporaryA = a
a = b
b = temporaryA
}
swapTwoInts(&numb1, &numb2)
我们将我们所定义的numb1和numb2通过inout关键字 引用到函数中时,numb1和numb2的值在函数内起了作用,此时numb1的值和numb2的值发生了交换,inout关键字的作用即引用传递,可以在函数内改变函数外的值。
网友评论