底線逗號 `_` underscore comma

底線逗號 _ underscore comma,空白識別字元 blank identifier

接收不會用到的變數參數

在 golang 如果變數有宣告但沒有用到,在編譯的時候是無法順利編譯執行的

像在 for range 迴圈我們會去取他的 keyvalue,但 key 對我們來說可能是沒有要用到的變數,這樣執行會出現 key declared but not used 的訊息

nums := []int{2, 3, 4}
sum := 0
for key, value := range nums {
	sum += value
}
fmt.Println("sum:", sum)
// key declared but not used

對於沒有用途的變數可以用 底線 _ 取做變數指定,這樣就不會建立了不會用到的變數

nums := []int{2, 3, 4}
sum := 0
for _, value := range nums {
	sum += value
}
fmt.Println("sum:", sum)
// sum: 9

判斷鍵值是否存在

僅需要判斷資料是否存在,沒有需要使用該數值的話,可以將第一個參數設定為 底線 _,用第二個變數來判斷是否存在

m := make(map[string]int)
m["key_1"] = 7
m["key_2"] = 13

_, is_key2_exist := m["key_2"]
_, is_key3_exist := m["key_3"]
fmt.Println("is_key2_exist:", is_key2_exist)
fmt.Println("is_key3_exist:", is_key3_exist)
// is_key2_exist: true
// is_key3_exist: false

參考資料