Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mendapatkan Nilai Secara Cekap daripada Peta Bersarang Dalam dalam Go?
Dalam Go, menavigasi dan mendapatkan semula nilai daripada peta bersarang dalam boleh menjadi satu cabaran. Soalan ini menunjukkan cara untuk melaksanakan tugas ini dengan berkesan.
Bagaimana saya boleh mengakses dan mendapatkan semula nilai daripada peta bersarang dengan struktur seperti ini:
m := map[string]interface{}{ "date": "created", "clientName": "data.user.name", "address": map[string]interface{}{ "street": "x.address", }, "other": map[string]interface{}{ "google": map[string]interface{}{ "value": map[string]interface{}{ "x": "y.address", }, }, }, "new_address": map[string]interface{}{ "address": "z.address", }, }
Untuk mendapatkan semula nilai daripada peta bersarang, anda boleh menggunakan teknik pemutus tanpa panik, yang melibatkan langkah-langkah berikut:
for i := range m { nestedMap, ok := m[i].(map[string]interface{}) if ok { // Do what you want } }
Dalam contoh yang disediakan, kod itu berulang ke atas kekunci peringkat atas peta m. Untuk setiap kekunci, ia cuba menghantar nilai yang sepadan kepada peta[rentetan]antara muka{}, menyemak sama ada penegasan jenis berjaya menggunakan bendera boolean ok. Jika penegasan jenis berjaya, anda boleh mengakses dan memanipulasi peta bersarang seperti yang diperlukan.
Untuk butiran lanjut tentang penegasan jenis dalam Go, rujuk dokumentasi rasmi di https://golang.org/ref/ spec#Type_assertions. Pendekatan ini membolehkan anda menavigasi dan mendapatkan semula nilai daripada peta bersarang dengan cara yang mudah dan bebas ralat.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Secara Cekap daripada Peta Bersarang Dalam dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!