コーディング中に、名前のない変数、型、メソッドに遭遇することがあります。これは必須ではありませんが、そうすることでコードの柔軟性が大幅に向上する場合があります。これらの変数は総称して匿名変数と呼ばれます。
匿名変数はアンダースコア「_」によって特徴づけられ、それ自体が空白識別子として知られる特別な識別子です。他の識別子と同様に、変数の宣言または割り当てに使用できます (任意の型を割り当てることができます)。ただし、この識別子に割り当てられた値は破棄されるため、これらの値を後続のコードで使用することはできません。この識別子を変数として使用して、他の変数を割り当てたり、他の変数を操作したりできます。匿名変数を使用する場合、アンダースコアを使用して変数宣言を置き換えるだけで済みます。例えば:
func GetData() (int, int) {
return 100, 200
}
func main(){
a, _ := GetData()
_, b := GetData()
fmt.Println(a, b)
}
- -
func GetData() (int, int) {
return 100, 200
}
func main(){
a、_ := GetData()
_, b := GetData()
fmt.Println(a、b)
}
コードを実行した結果:
100 200
GetData() は 2 つの整数の戻り値を持つ関数です。各呼び出しは、100 と 200 の 2 つの値を返します。
コードの説明は次のとおりです。
- 5 行目は最初の戻り値のみを取得する必要があるため、2 番目の戻り値の変数 (匿名変数) に下線が引かれています。
- 6 行目では、値を返す最初の変数を匿名変数にします。
匿名変数はメモリ空間を占有せず、メモリを割り当てません。無名変数と無名変数の間では、多重宣言により使用できなくなることはありません。
ヒント: Lua などのプログラミング言語では、匿名変数はダミー変数とも呼ばれます。
「 Go言語の匿名変数(名前のない変数)」についてわかりやすく解説!絶対に観るべきベスト2動画
【たった1時間で学べる】Go言語のプログラミング初心者向けの超入門講座【文字書き起こし、ソースコードも完全無料!】
変数って何?変数と変数名について理解しよう!Python基礎