inout というやつです。関数の引数に inout キーワードを付与して使います。
関数の呼び出し側で、引数として変数Aをセットした場合、関数内でその引数に対して値を代入したら、変数Aに値が代入されたことになるという動きになります。
(C言語でいうポインタ渡し、参照渡しですね)
例)
func double(_ num: inout Int) {
num * 2
}
var number = 6
// inout キーワードの引数には&をつける
double(&number)
// → number = 12 になる
コメントを残す