Bagaimanakah saya harus menggunakan jenis mapinterface {} dalam golang

王林
Lepaskan: 2024-02-05 23:06:12
ke hadapan
1101 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!

sumber:stackoverflow.com
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!