Senior
Que peux-tu me dire sur les maps en Go?
sobes.tech IA
Réponse de l'IA
En Go, une map est un type de données intégré qui implémente un tableau associatif ou un dictionnaire, où les clés sont associées à des valeurs.
Caractéristiques de la map en Go :
- Les clés et les valeurs ont des types définis, par exemple,
map[string]int— clés de chaîne, valeurs entières. - La map est initialisée avec la fonction
make, par exemple :m := make(map[string]int). - Accès aux éléments via
m[key]. - Si la clé n'existe pas, une valeur zéro du type de valeur est retournée.
- La présence d'une clé peut être vérifiée avec la seconde valeur de retour :
val, ok := m[key]. - Les maps ne sont pas ordonnées, l'ordre de parcours est arbitraire.
- Les maps ne sont pas sûres pour la concurrence, il faut utiliser la synchronisation pour un accès concurrent.
Exemple :
package main
import "fmt"
func main() {
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
val, ok := m["apple"]
if ok {
fmt.Println("apple:", val)
}
// Suppression d'une clé
delete(m, "banana")
}