Heim  >  Artikel  >  Backend-Entwicklung  >  Wie soll ich den Typ Mapinterface {} in Golang verwenden?

Wie soll ich den Typ Mapinterface {} in Golang verwenden?

王林
王林nach vorne
2024-02-05 23:06:121119Durchsuche

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

Frageninhalt

Ich versuche, Daten von der API abzurufen. Wenn ich Daten von der API erhalte:

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

Es zeigt die Art des Ergebnisses an. Records[0]["cases"] ist Map[string]interface {}

Aber natürlich kann ich das nicht direkt als Karte verwenden. Von:

fmt.println(reflect.typeof(result.records[0]["cases"]["id"]))

Dies führt zu einem Compilerfehler:

invalid operation: cannot index result.Records[0]["Cases"] (map index
expression of type interface{})

Darf ich wissen, wie man diesen Typ in Golang verwendet?


Richtige Antwort


Der Wert ist vom Typ interface{},并且根据反射的输出,该接口中有一个 map[string]interface{} Wert. Daher müssen Sie Typzusicherungen verwenden, um den tatsächlichen Wert zu erhalten, der in der Schnittstelle gespeichert ist:

fmt.Println(reflect.TypeOf(result.Records[0]["Cases"].(map[string]interface{})["Id"]))

Das obige ist der detaillierte Inhalt vonWie soll ich den Typ Mapinterface {} in Golang verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen