Swift 言語におけるアンパサンド (&) の意味は何ですか? 質問する

Swift 言語におけるアンパサンド (&) の意味は何ですか? 質問する

アンパサンドがビット演算であることは知っていますが、変数名の前にあるのを時々見かけます。&変数の前にアンパサンドを置くと何が起こるのでしょうか?

ベストアンサー1

inoutこれは変数をin-outパラメータにするものとして機能します。in-outは実際には値ではなく参照で値を渡すことを意味します。また、参照で値を受け入れるだけでなく、参照で渡すことも必要です。そのため、foo(&myVar)単に渡すのではなく、 & - で渡します。foo(myVar)

ご覧のとおり、Swift のエラー処理でこれを使用できます。エラー参照を作成し、それを関数に渡す必要があります。&関数を使用すると、エラーが発生した場合にエラー値が設定され、変数が以前のように返されます。

なぜこれを使用するのでしょうか? 関数がすでに他の値を返している場合があり、別の値 (エラーなど) を返すだけでは混乱を招く可能性があるため、inout として渡します。また、関数によって値が設定され、多数の戻り値を反復処理する必要がなくなるようにしたい場合もあります。これは、関数がすでにその処理を行っているためです。これは、他の使用法の中でも特に当てはまります。

おすすめ記事