Y parece que no puedo entender este tipo de declaración de variable:
_, prs := m["example"]
¿Qué está _,
haciendo exactamente " " y por qué han declarado una variable como esta en lugar de
prs := m["example"]
(Lo encontré como parte de Go by Example: Maps )
prs
probablemente significa "presente". El código en su ejemplo verifica la presencia o ausencia de una entrada"example"
en elm
mapa.Respuestas:
Evita tener que declarar todas las variables para los valores devueltos.
Se llama identificador en blanco .
Como en:
(el otro '
_
' caso de uso es para la importación )Dado que descarta el valor devuelto, es útil cuando desea verificar solo uno de los valores devueltos, como en " ¿Cómo probar la existencia de claves en un mapa? " Que se muestra en " Eficaz, mapa ":
Como agrega Jsor en los comentarios :
Eso te permite combinarlo con test:
Lo encontrarás también en bucle:
fuente
El compilador de Go no le permitirá crear variables que nunca use.
El código anterior devolverá un mensaje de error "declaré y no utilicé".
Como no usamos i dentro de nuestro ciclo, necesitamos cambiarlo a esto:
fuente
_
es el identificador en blanco. Es decir, se descarta el valor que debería asignarse.Aquí está el valor de la
example
clave que se descarta. La segunda línea de código descartaría el booleano de presencia y almacenaría el valor enprs
.Entonces, para verificar solo la presencia en el mapa, puede descartar el valor. Esto se puede utilizar para utilizar un mapa como conjunto.
fuente
Extracto de:
El lenguaje de programación Go (Serie de Computación Profesional Addison-Wesley)
Brian W. Kernighan
Este material puede estar protegido por derechos de autor.
fuente
Se llama identificador en blanco y ayuda en los casos en que desea descartar el valor que se va a devolver y no hacer referencia a él.
Algunos lugares donde lo usamos:
fuente
El gran caso de uso de la variable no utilizada es la situación en la que solo necesita una salida parcial. En el siguiente ejemplo, solo necesitamos imprimir el valor (población del estado).
fuente
Básicamente,
_,
conocido como identificador en blanco. En GO no podemos tener variables que no se estén utilizando.Como una instancia cuando itera a través de una matriz si está usando value: = range , no quiere un valor i para iterar. Pero si omite el valor i, devolverá un error. Pero si declara i y no lo usó, también devolverá un error.
Por tanto, ese es el lugar donde tenemos que utilizar
_,
.También se usa cuando no desea el valor de retorno de una función en el futuro.
fuente
Si viene de otros lenguajes de programación, puede resultar un poco difícil acostumbrarse a esto. Pero esto da como resultado un código más limpio. Entonces, al usar un
_
, estamos diciendo que sabemos que hay una variable allí pero no queremos usarla y le decimos al compilador que no se queja de eso. :)fuente