Maison > Article > développement back-end > Comment récupérer en toute sécurité les valeurs d'une carte Go avec différents types de données ?
Considérez la carte Go suivante :
res := map[string]interface{}{ "Event_dtmReleaseDate": "2009-09-15 00:00:00 +0000 +00:00", "Trans_strGuestList": nil, "strID": "TSTB", }
L'objectif est pour récupérer les valeurs suivantes de la carte :
To Pour accéder aux valeurs depuis une carte Go, vous devez utiliser la clé associée à la valeur. Cependant, dans ce cas, la carte contient différents types de valeurs, tels que des chaînes et nil.
Utilisation des assertions de type
Une façon de récupérer des valeurs consiste à utiliser le type assertions, comme démontré ci-dessous :
id := res["strID"].(string)
Cette ligne récupère la valeur associée à la clé "strID" et affirme qu'elle est de type chaîne.
Vérification de type sécurisée
Pour éviter les paniques potentielles dues à des types incorrects ou à des clés manquantes, envisagez d'utiliser l'approche sûre suivante :
var id string var ok bool if x, found := res["strID"]; found { if id, ok = x.(string); !ok { // Handle errors if the value is not a string. } } else { // Handle errors if the key does not exist in the map. }
Ce code vérifie si la carte contient la clé "strID". Si c'est le cas, il tente de convertir la valeur en chaîne et l'attribue à la variable id. Cette approche garantit que le code ne paniquera pas en cas d'incompatibilité de type ou de clés manquantes.
Notes supplémentaires
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!