浅谈swift 中的inout

浅谈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关键字的作用即引用传递,可以在函数内改变函数外的值。

你可能感兴趣的:(浅谈swift 中的inout)