空白标识符

为了避免错误,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)
	}
}

译者注

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

最后更新于