人到中年有点甜
它避免了必须为返回值声明所有变量。它被称为空白标识符。如:_, y, _ := coord(p) // coord() returns three values; only interested in y coordinate这样,你就不必声明一个你不会使用的变量:Go 不会允许它。相反,使用“_”来忽略所述变量。(另一个“ _”用例用于导入)由于它丢弃了返回值,因此当您只想检查返回值之一时,它会很有帮助,如“ Effective Go, map ”中所示的“ How to test key exist in a map? ”:_, present := timeZone[tz]要测试地图中是否存在而不用担心实际值,您可以使用空白标识符,一个简单的下划线 ( _)。可以使用任何类型的任何值分配或声明空白标识符,并无害地丢弃该值。要测试地图中的存在,请使用空白标识符代替值的常用变量。正如Jsor在评论中添加的那样:“普遍接受的标准”是将成员资格测试变量称为“ok”(与检查通道读取是否有效相同)这允许您将它与测试结合起来:if _, err := os.Stat(path); os.IsNotExist(err) { fmt.Printf("%s does not exist\n", path)}你会发现它也在循环中:如果您只需要范围中的第二项(值),请使用空白标识符(下划线)来丢弃第一项:sum := 0for _, value := range array { sum += value}