它避免了必须为返回值声明所有变量。
它称为 空白标识符 。
如:
_, y, _ := coord(p) // coord() returns three values; only interested in y coordinate
(另一个’
_‘用例用于导入)
由于它丢弃了返回值,因此在您只想检查返回的值之一时很有用,例如“ EffectureGo,map ”中所示的“如何测试映射中键的存在?
_, present := timeZone[tz]
要在地图中测试是否存在而不必担心实际值,可以使用空白标识符,即简单的下划线(
_)。
可以使用任何类型的任何值来分配或声明空白标识符,并且可以无害地丢弃该值。
要在地图中测试状态,请使用空白标识符代替常规变量的值。
正如Jsor在评论中添加的
“通常接受的标准”是将成员资格测试变量称为“ ok”(与检查通道读取是否有效相同)
这使您可以将其与测试结合使用:
if _, err := os.Stat(path); os.IsNotExist(err) { fmt.Printf("%s does not existn", path)}
您还会在循环中找到它:
如果只需要范围(值)中的第二项,则使用空白标识符(下划线)来丢弃第一项:
sum := 0for _, value := range array { sum += value}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)