Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menambahkan Nilai pada Tatasusunan Di Dalam Peta dalam Go?

Bagaimana untuk Menambahkan Nilai pada Tatasusunan Di Dalam Peta dalam Go?

DDD
DDDasal
2024-11-02 02:53:30982semak imbas

How to Append Values to Arrays Inside Maps in Go?

Menambahkan Nilai pada Tatasusunan Dalam Peta dalam Go

Apabila bekerja dengan peta dalam Go, memanipulasi tatasusunan dalam peta tersebut boleh menjadi mencabar. Artikel ini menyediakan penyelesaian kepada isu penambahan nilai pada tatasusunan yang disimpan di dalam peta.

Untuk memahami masalah, pertimbangkan kod berikut:

<code class="go">type Example struct {
    Id []int
    Name []string
}
var MyMap map[string]Example</code>

Di sini, MyMap ialah peta yang memetakan rentetan kepada contoh struct Contoh. Struktur Contoh mengandungi Id dan Nama tatasusunan. Matlamatnya adalah untuk menambahkan nilai pada tatasusunan ini.

Percubaan awal untuk melakukan ini selalunya melibatkan kaedah memanggil pada struct Contoh dan menghantar penerima penuding untuk mengakses dan mengubah suai tatasusunan. Walau bagaimanapun, memberikan terus hasil Oferty.AppendExample(1, "SomeTeks") kepada MyMap["key1"] tidak akan berfungsi kerana peta menyimpan salinan Contoh struct, bukan struct itu sendiri.

The penyelesaian terletak pada mengubah suai kod seperti berikut:

<code class="go">package main

import "fmt"

type Example struct {
    Id []int
    Name []string
}

func (data *Example) AppendOffer(id int, name string) {
    data.Id = append(data.Id, id)
    data.Name = append(data.Name, name)
}

var MyMap map[string]*Example

func main() {
    obj := &Example{[]int{}, []string{}}
    obj.AppendOffer(1, "SomeText")
    MyMap = make(map[string]*Example)
    MyMap["key1"] = obj
    fmt.Println(MyMap)
}</code>

Dengan mencipta contoh struct Contoh dan menyimpan rujukan kepadanya dalam peta (menggunakan jenis penunjuk), kita boleh mengubah suai tatasusunan secara langsung. Kaedah AppendOffer beroperasi pada penuding kepada struct Contoh, membolehkan kami menambahkan nilai pada tatasusunan.

Penyelesaian ini menambahkan nilai secara berkesan pada tatasusunan dalam struct Contoh, yang disimpan dalam MyMap. Ia menyediakan pendekatan yang jelas dan ringkas untuk mengurus tatasusunan dalam peta dalam Go.

Atas ialah kandungan terperinci Bagaimana untuk Menambahkan Nilai pada Tatasusunan Di Dalam Peta dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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