はじめに
Swiftのコードを読んでいて、関数の引数に謎の&
がついていたので調べてみました。
例
以下のコードを見てください。
func increment(number: inout Int) {
number += 1
}
var number = 0
increment(number: &number)
print(number) // 1
increment(number: &number)
を見ると、引数に&
がついています。
これは、inout
引数というものです。
inout引数とは
inout
引数は、関数内で引数の値を変更することができます。
例のコードを実行すると、increment(number: &number)
でnumber
の値を変更していることが確認できます。
inout引数を持つ関数の作り方
inout
引数を持つ関数を作るには、引数の型の前にinout
をつけます。
func increment(number: inout Int) {
number += 1
}
inout引数を持つ関数の使い方
inout
引数を持つ関数を呼び出す時は、引数の前に&
をつけます。
var number = 0
increment(number: &number)
おわりに
Swiftには便利な機能がたくさんありますね。この記事が参考になったという方は、いいねとフォローしていただけると嬉しいです☺️
参考