可變形式參數
只能在函數的內部做改變。如果你想函數能夠修改一個形式參數的值,而且你想這些改變在函
數結束之後依然生效,那麼就需要將形式參數定義爲輸入輸出形式參數
。在形式參數定義開始的時候在前邊添加一個
inout
關鍵字可以定義一個輸入輸出形式參數
。輸入輸出形式參 數
有一個能輸入給函數的值,函數能對其進行修改,還能輸出到函數外邊替換原來的值。你只能把變量作爲輸入輸出形式參數的實際參數,在將變量作爲實際參數傳遞給輸入輸出形式參數的時候,
直接在它前邊添加一個和符號 (&
) 來明確可以被函數修改
輸入輸出形式參數不能有默認值,可變形式參數不能標記爲
inout
func swapTwoInts (_ a: inout Int ,_ b: inout Int) {
let tempInt = a
a = b
b = tempInt
}
var aa = 3
var bb = 12
swap(&aa, &bb)
print("aa===\(aa),bb==\(bb)")
//aa===12,bb==3