Go: ¿Cómo saber si una clave existe en un mapa?

Un intento de acceso en un mapa con una clave que no existe retornará el “valor cero” correspondiente al tipo de dato que almacena el mapa.
Por lo tal, si un mapa contiene enteros, el intentar acceder a un clave no indexada retornará 0. Por ejemplo, un set (indice de datos únicos) en Go puede ser implementado como un mapa con valores de tipo bool dando true como valor a  las entradas del mismo y luego comprobando si estás claves existen o no.

¿Existe la entrada y su valor es 0 o no existe en el mapa?. A veces necesitamos distinguir entre una entrada que no existe y un “valor cero”.

Podemos comprobar realizando una asignación multiple, por razones obvias esto es llamado estilo “comma ok”:

 

Este condicional sólo retornará zone en caso de que la clave 999999 exista, caso contrario retonará la primer zone.

Go: ¿Cómo saber si una clave existe en un mapa?
5 (100%) 2 votos