Comprobar la existencia de claves
Parte de la sección Fundamentos del Journey de GO de Coddy. Lección 89 de 109.
En Go, puedes comprobar si una clave existe en un mapa usando la forma de asignación de dos valores. Esto es importante porque acceder a una clave inexistente devuelve el valor cero, lo cual podría ser engañoso.
Crea un mapa de códigos de país:
countries := map[string]string{
"US": "United States",
"CA": "Canada",
}
// Comprobar si "UK" existe en el mapa
value, exists := countries["UK"]
fmt.Println("Value:", value, "Exists:", exists)Resultado:
Value: Exists: falseEl booleano exists te indica si se encontró la clave. Usa esto en condicionales:
if _, exists := countries["US"]; exists {
fmt.Println("US is in the map")
}Resultado:
US is in the mapDesafío
PrincipianteEn este desafío, practicarás cómo comprobar si una clave existe en un mapa. Tienes un mapa de calificaciones de estudiantes y necesitas comprobar si la calificación de un estudiante específico existe en el mapa.
Completa el código para comprobar si el estudiante 'Emma' existe en el mapa grades y muestra un mensaje apropiado.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Mapa de calificaciones de estudiantes
grades := map[string]int{
"John": 85,
"Sarah": 92,
"Mike": 78,
"Lisa": 95,
}
// Estudiante a verificar
studentToCheck := "Emma"
// TODO: Verificar si studentToCheck existe en el mapa de calificaciones
// y almacenar el resultado en una variable llamada 'exists'
// Pista: Usa el idioma comma-ok
// Imprimir el resultado
if exists {
fmt.Printf("%s's grade exists in the map\n", studentToCheck)
} else {
fmt.Printf("%s's grade does not exist in the map\n", studentToCheck)
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisionesPractica por tu cuenta: Compilador de Go online