Maison > développement back-end > Golang > le corps du texte

Comment dois-je utiliser le type mapinterface {} dans Golang

王林
Libérer: 2024-02-05 23:06:12
avant
1126 Les gens l'ont consulté

我应该如何在golang中使用类型mapinterface {}

Contenu de la question

J'essaie de récupérer des données de l'API. Quand je reçois des données de l'API :

result, _ := s.getcases() // get cases via api
fmt.println(reflect.typeof(result.records[0]["cases"]))
Copier après la connexion

Il montre le type de résultat. records[0]["cases"] est map[string]interface {}

Mais, évidemment, je ne peux pas l'utiliser directement comme carte. De :

fmt.println(reflect.typeof(result.records[0]["cases"]["id"]))
Copier après la connexion

Cela entraînera une erreur du compilateur :

invalid operation: cannot index result.Records[0]["Cases"] (map index
expression of type interface{})
Copier après la connexion

Puis-je savoir comment utiliser ce type en golang ?


Bonne réponse


La valeur est de type interface{},并且根据反射的输出,该接口中有一个 map[string]interface{} valeur. Par conséquent, vous devez utiliser des assertions de type pour obtenir la valeur réelle stockée dans l'interface :

fmt.Println(reflect.TypeOf(result.Records[0]["Cases"].(map[string]interface{})["Id"]))
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal