E não consigo entender esse tipo de declaração de variável:
_, prs := m["example"]
O que exatamente " _,
" está fazendo e por que eles declararam uma variável como esta em vez de
prs := m["example"]
(Eu o encontrei como parte de Go by Example: Maps )
prs
provavelmente significa "presente". O código em seu exemplo está verificando a presença ou ausência de uma entrada"example"
nom
mapa.Respostas:
Isso evita ter que declarar todas as variáveis para os valores de retorno.
É chamado de identificador em branco .
Como em:
(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 ":
Como Jsor adiciona nos comentários :
Isso permite que você combine com o teste:
Você o encontraria também em loop:
fonte
O compilador Go não permite que você crie variáveis que você nunca usa.
O código acima retornará uma mensagem de erro "declarei e não usei".
Como não usamos i dentro do nosso loop, precisamos alterá-lo para:
fonte
_
é o identificador em branco. Significa que o valor que deve ser atribuído é descartado.Aqui é o valor da
example
chave que é descartado. A segunda linha de código descartaria o booleano de presença e armazenaria o valor emprs
.Portanto, para apenas verificar a presença no mapa, você pode descartar o valor. Isso pode ser usado para usar um mapa como um conjunto.
fonte
Trecho de:
A linguagem de programação Go (Addison-Wesley Professional Computing Series)
Brian W. Kernighan
Este material pode estar protegido por direitos autorais.
fonte
É chamado de identificador em branco e ajuda nos casos em que você deseja descartar o valor que será retornado e não fazer referência a ele
Alguns lugares onde o usamos:
fonte
O ótimo caso de uso para a variável não utilizada é a situação em que você só precisa de uma saída parcial. No exemplo abaixo, só precisamos imprimir o valor (população do estado).
fonte
Basicamente, é
_,
conhecido como identificador em branco. Em GO não podemos ter variáveis que não estão sendo usadas.Como uma instância ao iterar através de uma matriz se você estiver usando valor: = intervalo que você não quer um i valor para iterar. Mas se você omitir o valor i, ele retornará um erro. Mas se você declarar i e não usá-lo, ele também retornará um erro.
Portanto, esse é o lugar onde devemos usar
_,
.Também é usado quando você não deseja o valor de retorno de uma função no futuro.
fonte
Se você estiver vindo de outras linguagens de programação, pode parecer um pouco difícil se acostumar com isso. Mas isso resulta em um código mais limpo. Então, ao usar um
_
, estamos dizendo que sabemos que há uma variável lá, mas não queremos usá-la, e estamos dizendo ao compilador que não reclama dela. :)fonte