Inout 引數
如果使用 inout
關鍵字標記,函式可以修改傳遞給它們的引數。將 inout
引數傳遞給函式時,呼叫者必須向傳遞的變數新增 &
。
func updateFruit(fruit: inout Int) {
fruit -= 1
}
var apples = 30 // Prints "There's 30 apples"
print("There's \(apples) apples")
updateFruit(fruit: &apples)
print("There's now \(apples) apples") // Prints "There's 29 apples".
這允許將引用語義應用於通常具有值語義的型別。