Maison >développement back-end >Golang >Comment récupérer les valeurs d'une carte dans Go ?

Comment récupérer les valeurs d'une carte dans Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-16 12:47:03895parcourir

How do you retrieve values from a map in Go?

Comment récupérer des valeurs d'une carte dans Go

Lorsque vous travaillez avec des cartes dans Go, une tâche courante consiste à récupérer des valeurs spécifiques en fonction de une clé donnée. Cependant, la syntaxe d'accès aux valeurs de la carte peut prêter à confusion, en particulier pour les débutants. Cet article vous guidera tout au long du processus d'obtention de valeurs à partir de cartes et fournira des exemples pour vous aider à comprendre les techniques impliquées.

Vous avez fourni une carte avec des clés de chaîne et des valeurs d'interface {}. Pour accéder à une valeur de cette carte, vous devez taper assert the value au type souhaité.

Exemple :

res := map[string]interface{}{
    "Event_dtmReleaseDate": "2009-09-15 00:00:00 +0000 +00:00",
    "strID":               "TSTB",
    "Trans_strGuestList":   nil,
}

eventDate := res["Event_dtmReleaseDate"].(string)
strID := res["strID"].(string)
guestList := res["Trans_strGuestList"].(interface{}) // or nil if it's nil in the map

Explication :

  1. La clé de map est une chaîne.
  2. La valeur associée à la clé est de type interface {}.
  3. Pour obtenir la valeur réelle, nous avons besoin pour taper assert the interface {} au type souhaité.
  4. Dans notre exemple, nous tapons assert the value dans une chaîne.

Remarque :

Il est important de noter que l'assertion de type peut paniquer si l'assertion de type échoue. Pour gérer cela, vous pouvez utiliser l'idiome suivant :

var eventDate string
ok := false

if assertedValue, ok := res["Event_dtmReleaseDate"].(string); ok {
    eventDate = assertedValue
}

Cette approche garantit que votre code ne paniquera pas si l'assertion de type échoue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn