■Go言語のアンダースコアーの意味

良く忘れるので書いておく。

(1)Goは一度も使われない変数があると、全部エラーにしてしまう → 「せっかく買ったのに、どうして使わないの?」と言い続ける、うっとうしい母親みたいなもの

(2)返り値のある変数があるけど、別に返り値が必要でないときがある。
例えば、2つの返り値がある関数で、「2つもはいらんわ」という時に、こうなる

f := func(num1 int, num2 int)(int, int){
	return num1 + num2, num1 - num2
}
ret1, ret2 := f(8, 7)  // "a"が不使用のためエラー:a declared and not used
fmt.Println(ret2)

(3)でも、こうすれば、エラーにならない

ret1 はいらん → これを"_"と書く

_, ret2 := f(8, 7)  // エラーがでてこなくなる
fmt.Println(ret2)

2020/05,江端さんの技術メモ

Posted by ebata