Qualunque sia il nome, le mappe sono incredibilmente versatili e forniscono un modo semplice e veloce per recuperare, aggiornare o eliminare i dati utilizzando i tasti.
In questo tutorial amichevole, imparerai come verificare se esiste una chiave in una mappa usando il linguaggio di programmazione Go.
Le basi
Prima di verificare se una mappa è in una chiave, iniziamo con come creare una mappa in GO.
Per creare una mappa in GO, utilizzare la sintassi di esempio mostrata di seguito:
mappa [key_data_type] valori_data_type // crea una mappa vuota
mappa [key_data_type] value_data_type key_1: value_1,…, key_n: value_n // mappa con dati
L'esempio seguente crea una mappa di stringhe:
my_map: = map [int] string
1: "Ubuntu",
2: "Debian"
3: "Fedora"
4: "OpenSuse"
5: "Manjaro",
Recupera i valori nella mappa
Dovremo recuperare un valore associato a una chiave specifica in una mappa nella maggior parte dei casi. Go ci fornisce un metodo molto semplice per realizzare questo compito.
La sintassi è come mostrata:
map_name [tasto]
Possiamo accedere a un valore memorizzato in una chiave specifica chiamando il nome della mappa e passando il tasto target all'interno di una coppia di parentesi quadrate.
Un esempio è come mostrato:
fmt.Println (my_map [4])
Quanto sopra dovrebbe recuperare il valore nel numero della chiave 4. L'output risultante è come mostrato:
$ go run Check_if_key_exists.andare
Opensuse
Sebbene questa sia una tecnica semplice per recuperare un valore basato su una chiave, a volte può confondere se una chiave non è in una mappa.
Cosa succede quando si tenta di recuperare un valore per una chiave inesistente?
fmt.Println (my_map [0])
...> 0
Il codice sopra ritorna 0 poiché non esiste una chiave "0" qui.
Ma cosa succede se avessi una chiave con il valore effettivo "0"? Come si dice se la chiave non è lì o il valore è 0?
Controlla se la chiave esiste nella mappa
Pertanto, è prudente avere un modo per dire se c'è una chiave o il valore è solo 0. Possiamo usare la sintassi come mostrato:
_, trovato: = map_name [chiave]
Il parametro trovato contiene un valore booleano. Se la chiave è nella mappa, il parametro trovato è vero e falso.
Hmm, cool!
Possiamo utilizzare questa funzionalità per implementare un'istruzione condizionale in base al valore della variabile trovata.
Un esempio è come mostrato:
func check_if_exists ()
stati: = map [string] string
"CO": "Colorado",
"De": "Delaware",
"LA": "Louisiana",
"MA": "Massachusetts",
"VT": "Vermont",
se _, trovato: = afferma ["Ma"]; trovato
fmt.Printf ("trovato")
altro
fmt.Println ("non trovato")
Nell'esempio sopra, utilizziamo un'istruzione if per verificare se una chiave è nella mappa utilizzando il parametro trovato.
Il codice risultante è come mostrato:
$ go run Check_if_key_exists.andare
Non trovato
Questo metodo funzionerà in modo efficiente anche se il valore della chiave specificata è uguale a 0 o true/false.
Conclusione
In questo articolo, hai imparato come accedere ai valori in una mappa utilizzando la chiave associata e verificare se una chiave si trova in una mappa.
Grazie per la lettura e la modalità di codice felice!