Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah saya harus menggunakan jenis mapinterface {} dalam golang

Bagaimanakah saya harus menggunakan jenis mapinterface {} dalam golang

王林
Lepaskan: 2024-02-05 23:06:12
ke hadapan
1193 orang telah melayarinya

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

Kandungan soalan

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"]))
Salin selepas log masuk

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"]))
Salin selepas log masuk

Ini akan mengakibatkan ralat pengkompil:

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

Boleh saya tahu cara menggunakan golang jenis ini?


Jawapan betul


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"]))
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan