Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mendapatkan Nilai Secara Cekap daripada Peta Bersarang Dalam dalam Go?

Bagaimana untuk Mendapatkan Nilai Secara Cekap daripada Peta Bersarang Dalam dalam Go?

Patricia Arquette
Lepaskan: 2024-12-21 01:12:11
asal
723 orang telah melayarinya

How to Efficiently Retrieve Values from Deeply Nested Maps in Go?

Mendapatkan kembali Nilai daripada Peta Bersarang

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.

Soalan

Bagaimana saya boleh mengakses dan mendapatkan semula nilai daripada peta bersarang dengan struktur seperti ini:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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",

    },

}

Salin selepas log masuk

Jawapan

Untuk mendapatkan semula nilai daripada peta bersarang, anda boleh menggunakan teknik pemutus tanpa panik, yang melibatkan langkah-langkah berikut:

1

2

3

4

5

6

for i := range m {

    nestedMap, ok := m[i].(map[string]interface{})

    if ok {

        // Do what you want

    }

}

Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan