Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Membetulkan Ralat 'Tugasan untuk Kemasukan dalam Peta Nil' Semasa Mencipta Sekeping Peta dalam Go?

Bagaimana untuk Membetulkan Ralat 'Tugasan untuk Kemasukan dalam Peta Nil' Semasa Mencipta Sekeping Peta dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-11-04 14:59:12793semak imbas

How to Fix

Ralat Masa Jalan: "Tugasan untuk Kemasukan dalam Peta Tiada" Selesai

Apabila cuba mencipta sekeping Peta, anda mungkin menghadapi masa jalan ralat "tugasan kepada kemasukan dalam peta kosong." Ralat ini menunjukkan bahawa anda cuba mengakses nilai Peta sifar, yang tidak dibenarkan.

Pernyataan Masalah

Anda mengalami ralat ini semasa membina tatasusunan Peta , setiap satu mengandungi dua kunci: "Id" dan "Pelabur." Kod yang dicuba adalah seperti berikut:

<code class="go">for _, row := range rows {
    invs := make([]map[string]string, length)

    for i := 0; i < length; i++ {
        invs[i] = make(map[string]string)
        invs[i]["Id"] = inv_ids[i]
        invs[i]["Investor"] = inv_names[i]
    }
}</code>

Penyelesaian

Untuk menyelesaikan ralat ini, anda harus membuat sekeping Peta terus dalam gelung dan bukannya membuat Peta kosong dan memberikan nilai kepada mereka. Ini boleh dicapai menggunakan literal komposit:

<code class="go">for _, row := range rows {
    invs := make([]map[string]string, length)

    for i := 0; i < length; i++ {
        invs[i] = map[string]string{"Id": inv_ids[i], "Investor": inv_names[i]}
    }
}</code>

Pendekatan Alternatif

Sebagai alternatif, anda boleh menggunakan struct untuk mewakili pelabur:

<code class="go">type Investor struct {
    Id       int
    Investor string
}

for _, row := range rows {
    invs := make([]Investor, length)

    for i := 0; i < length; i++ {
        invs[i] = Investor{
            Id:       inv_ids[i],
            Investor: inv_names[i],
        }
    }
}</code>

Menggunakan struct menyediakan perwakilan data anda yang lebih bersih dan berstruktur.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Tugasan untuk Kemasukan dalam Peta Nil' Semasa Mencipta Sekeping 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