Heim > Artikel > Backend-Entwicklung > Wie soll ich den Typ Mapinterface {} in Golang verwenden?
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?
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!