Isso evita ter que declarar todas as variáveis para os valores de retorno.
É chamado de identificador em branco .
Como em:
_, y, _ := coord(p) // coord() returns three values; only interested in y coordinate
(o outro _
caso de uso ' ' é para importação )
Uma vez que descarta o valor de retorno, é útil quando você deseja verificar apenas um dos valores retornados, como em " Como testar a existência da chave em um mapa? " Mostrado em " Efetivo Go, map ":
_, present := timeZone[tz]
Para testar a presença no mapa sem se preocupar com o valor real, você pode usar o identificador em branco, um sublinhado simples ( _
).
O identificador em branco pode ser atribuído ou declarado com qualquer valor de qualquer tipo, com o valor descartado sem causar danos.
Para testar a presença em um mapa, use o identificador em branco no lugar da variável usual para o valor.
Como Jsor adiciona nos comentários :
"padrão geralmente aceito" é chamar as variáveis de teste de associação de "ok" (o mesmo para verificar se uma leitura de canal era válida ou não)
Isso permite que você combine com o teste:
if _, err := os.Stat(path); os.IsNotExist(err) {
fmt.Printf("%s does not exist\n", path)
}
Você o encontraria também em loop:
Se você precisar apenas do segundo item do intervalo (o valor), use o identificador em branco, um sublinhado, para descartar o primeiro:
sum := 0
for _, value := range array {
sum += value
}