Go · Essencial · Inglês · Técnico
comma ok
Idioma que usa um segundo retorno booleano para saber se a operação teve sucesso, em consulta a map, type assertion e recebimento de canal.
Onde usar
'v, ok := m[key]' distingue uma chave ausente de um valor zero legítimo. É ensinado cedo e cobrado em review quando alguém confia só no valor lido.
Em código
m := map[string]int{"a": 0}
if v, ok := m["a"]; ok {
fmt.Println("existe", v)
}
_, ok := m["b"]
fmt.Println(ok)Exemplos
Use the comma ok idiom to check if the key exists.
Use o idioma comma ok para checar se a chave existe.
Without the ok you can't tell a missing key from a zero.
Sem o ok você não distingue uma chave ausente de um zero.
Cuidado
Sem o ok, ler uma chave ausente devolve o zero value, indistinguível de um 0 realmente guardado.
Sinônimos
comma-ok idiom