範囲値に対する配列インデックスの使用法
Go で配列またはスライスで range キーワードを使用する場合、次のことを理解することが不可欠です。元の値参照ではなく、キーと値のコピーを返します。この動作は、反復中にコレクション内の値を変更しようとすると混乱を引き起こす可能性があります。
提供された例では:
範囲反復では文字列 "foo" が割り当てられることが予想されます。配列内の各要素のフィールド。ただし、2 番目のループで更新された値を出力すると、すべてのフィールドは空のままになります。これは、範囲のコピーベースのセマンティクスによるものです。
反復中に配列内の値を効果的に変更するには、範囲変数の代わりに配列インデックスを使用する必要があります。
この変更により、インデックス変数が配列内の実際の要素を参照するようになり、2 番目のループでフィールドが適切に更新され、正しい出力が可能になります。
以上がGo の「range」キーワードを使用した値の変更が失敗するのはなぜですか? 配列インデックスはどのように解決策を提供できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。