空白标识符

为了避免错误,Go编译器不允许存在未使用的变量。
但是,有些场景下,您不需要把一个值存入一个变量。
在这些场景下,您就可以使用“空白标识符”_来接收一个变量的分配,并丢弃该变量。
空白标识符可以被赋值任何类型的值,它经常被用在有多个返回值的函数。

多返回值

func SumProduct(a, b int) (int, int) {
return a + b, a * b
}
func main() {
// 只需要sum
sum, _ := SumProduct(1, 2) // 乘积会被丢弃
fmt.Println(sum) // -> 3
}

range一起用

func main() {
pets := []string{"dog", "cat", "fish"}
// range 会同时返回index和value
// 但有时候我们只想用其中之一
for _, pet := range pets {
fmt.Println(pet)
}
}

译者注

简言之,空白标识符就是个特殊变量名,但凡赋给这个变量名的变量值都会被丢弃。