English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Golangでは_(下線)は空白識別子と呼ばれます。識別子ユーザーが定義した、識別目的のプログラムコンポーネントの名前です。
Golangには特別な機能があり、未使用の変数を定義および使用するために空白識別子を使用できます。未使用の変数とは、ユーザーがプログラム全体で定義したが使用しなかった変数のことです。変数これらの変数はプログラムの可読性を非常に低くします。ご存知のように、Golangはより簡潔で可読性の高いプログラミング言語であり、したがって、プログラマーが未使用の変数を定義することを許可しません。そうすると、コンパイラはエラーを報告します。
関数が複数の値を返す場合にのみ空白識別子を使用しますが、私たちは必要な値のみを使用し、一部の値を捨てたい場合があります。
基本的には、コンパイラにこの変数は必要ないことを伝え、エラーなく無視します。変数の値を隠し、プログラムの可読性を向上させます。したがって、Bankに値を割り当てるときは、いつでも
Identifierの時、それが使えなくなる。
例1:の次のプログラムでは、関数mul_div二つの値を返す関数、すなわちを保存します。両方の値はmulを使用しています。div識別子内で、しかし、プログラム全体で、私たちはただ一つの変数、すなわちmul。したがって、コンパイラはエラー「div declared and not used」を投げ出します
package main import "fmt" func main() { //関数を呼び出します //関数は二つの値を返します //mulとdiv識別子に割り当て mul, div := mul_div(105, 7) //mul変数のみを使用 //コンパイラはエラーを報告します fmt.Println("105 x 7 = ", mul) } //関数は二つの //整数型の値 func mul_div(n1 int, n2 int) (int, int) { //返り値 return n1 * n2, n1 / n2 }
出力:
# command-行-引数 .\test.go:10:7: div declared but not used
例2:空白識別子を使用して上記のプログラムを修正しましょう。div識別子の代わりに、_(下線)を使用します。これにより、コンパイラは特定の変数のエラー(宣言され、使用されていない)を無視できます。
package main import "fmt" func main() { //関数を呼び出します //関数は二つの値を返します //mulと空白識別子に割り当て mul, _ := mul_div(105, 7) //mul変数のみを使用 fmt.Println("105 x 7 = ", mul) } //関数は二つの //整数型の値 func mul_div(n1 int, n2 int) (int, int) { //返り値 return n1 * n2, n1 / n2 }
出力:
105 x 7 = 735
注意事項:
同じプログラム内で複数の空白識別子を使用できます。したがって、Golangプログラムは同じ識別子名(つまり空白識別子)を使用して複数の変数を含むことができます。
多くの場合、これらの値がプログラムのどこにも使用されないことを知っていても、文法を完了するために値を割り当てる必要があります。例えば、複数の値を返す関数のように。この場合、通常空白識別子を使用します。
空白識別子と一緒に、どんなタイプのどんな値でも使用できます。