淺談swift 中的inout
當(dāng)我們需要通過一個(gè)函數(shù)去改變我們所定義的一個(gè)函數(shù)外的值時(shí)贮聂,我們可能需要這樣做:
var numb1 = 100
var numb2 = 200
func swapTwoInt () ?{
var tempNum = 0
tempNum = numb2
numb2 = numb1
numb1 = tempNum
}
通過swapTwoInt () 確實(shí)可以將 num1 和 num2 的值交換昙读,有時(shí)候我們并不知道函數(shù)內(nèi)都干了些什么,也許我們無意中就將我們所定義的值改變了蜈首,但是卻找不到原因轻抱,于是我們想知道我們在哪些方法里用了我們所定義的函數(shù)蜓席,于是:
func swapTwoInts(_ a:inout Int,_ b: inout Int){
let temporaryA = a
a = b
b = temporaryA
}
swapTwoInts(&numb1, &numb2) ? ? ? ??
我們將我們所定義的numb1和numb2通過inout關(guān)鍵字 引用到函數(shù)中時(shí)吏垮,numb1和numb2的值在函數(shù)內(nèi)起了作用,此時(shí)numb1的值和numb2的值發(fā)生了交換宪躯,inout關(guān)鍵字的作用即引用傳遞乔宿,可以在函數(shù)內(nèi)改變函數(shù)外的值。