Go 宣言の謎の "_,": 初心者向けガイド
Go プログラミングの分野では、独特の "_," (アンダースコア カンマ) は、意欲的な Go プログラマーの間で混乱を引き起こすことがよくあります。それが何を表すのか、そしてそれが特定のシナリオで使用される理由を詳しく見てみましょう。
「_,」 (アンダースコア カンマ) について
「_,」は次のように知られています。 「空白の識別子」または「破棄変数」。変数宣言では、関心のない戻り値を破棄するためのプレースホルダーとして機能します。 例:
_, prs := m["example"]
この宣言では、変数 prs にマップ m からの値が割り当てられます。キー「例」に関連付けられています。ただし、最初の戻り値 (通常はエラーまたは成功を示すフラグ) は、空白の識別子を使用すると無視されます。
空白の識別子を使用する理由
空白の識別子は主に、不要な変数の宣言を避けるために使用されます。 Go の厳密な型指定システムでは、値を割り当てずに変数を宣言することは禁止されています。空白の識別子を使用すると、基本的に、戻り値の存在は認識しているが、その必要はないことをコンパイラーに伝えることになります。
この手法は、複数の値を返す関数を扱う場合に特に有益です。たとえば、x、y、z の 3 つの値を返す coord(p) について考えてみましょう。 y 値のみに興味がある場合は、空の識別子を使用して他の 2 つを破棄できます。
_, y, _ := coord(p)
空の識別子のその他の用途
変数宣言とは別に、空の識別子には別の使用例があります。それは、パッケージを識別子に割り当てずにインポートすることです。これは、接頭辞付きのパッケージ名を使用せずにパッケージ レベルの関数または定数にアクセスする場合に便利です。
結論
空白の識別子 ("_,") Go の宣言は、変数宣言の戻り値を無視することと、識別子が割り当てられていないパッケージをインポートすることという 2 つの主な目的を果たします。その機能を理解することで、複数の戻り値を効果的に処理し、Go コードを簡潔かつ効率的に保つことができるようになります。
以上がGo 宣言におけるアンダースコア コンマ ('_') の目的は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。