Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah saya harus menggunakan jenis mapinterface {} dalam golang
Saya cuba mendapatkan semula data daripada api. Apabila saya mendapat data daripada api:
result, _ := s.getcases() // get cases via api fmt.println(reflect.typeof(result.records[0]["cases"]))
Ia menunjukkan jenis hasil. rekod[0]["kes"] ialah peta[rentetan]antara muka {}
Tetapi, jelas saya tidak boleh menggunakan ini secara langsung sebagai peta. Daripada:
fmt.println(reflect.typeof(result.records[0]["cases"]["id"]))
Ini akan mengakibatkan ralat pengkompil:
invalid operation: cannot index result.Records[0]["Cases"] (map index expression of type interface{})
Boleh saya tahu cara menggunakan golang jenis ini?
Nilai adalah jenis interface{}
,并且根据反射的输出,该接口中有一个 map[string]interface{}
nilai. Oleh itu, anda perlu menggunakan penegasan jenis untuk mendapatkan nilai sebenar yang disimpan dalam antara muka:
fmt.Println(reflect.TypeOf(result.Records[0]["Cases"].(map[string]interface{})["Id"]))
Atas ialah kandungan terperinci Bagaimanakah saya harus menggunakan jenis mapinterface {} dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!