Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengelakkan Ralat Masa Jalan "Tugaskan untuk Kemasukan dalam Peta Nil" Apabila Bekerja dengan Potongan Peta dalam Go?

Bagaimana untuk Mengelakkan Ralat Masa Jalan "Tugaskan untuk Kemasukan dalam Peta Nil" Apabila Bekerja dengan Potongan Peta dalam Go?

Susan Sarandon
Susan Sarandonasal
2024-11-06 07:27:02500semak imbas

How to Avoid

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

Apabila bekerja dengan kepingan peta, adalah penting untuk mengelak daripada mencipta sekeping sifar peta, yang akan mengakibatkan ralat masa jalan seperti yang anda temui.

Untuk membuat sekeping peta, ikut langkah berikut:

  1. Buat kepingan peta dengan fungsi make():

    <code class="go">invs := make([]map[string]string, length)</code>
  2. Isi peta dalam kepingan:

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

Pertimbangkan untuk menggunakan Literal Komposit:

Daripada membuat peta sifar dan memberikan nilai padanya, anda boleh menggunakan literal komposit, yang menggabungkan semua nilai kunci berpasangan menjadi satu ungkapan:

<code class="go">invs[i] = map[string]string{"Id": inv_ids[i], "Investor": inv_names[i]}</code>

Pendekatan Alternatif Menggunakan Struktur:

Pendekatan alternatif dan lebih idiomatik ialah mentakrifkan struct untuk mewakili pelabur dan menggunakan sepotong struct:

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

invs := make([]Investor, length)

for i := 0; i < length; i++ {
    invs[i] = Investor{Id: i, Name: "John" + strconv.Itoa(i)}
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat Masa Jalan "Tugaskan untuk Kemasukan dalam Peta Nil" Apabila Bekerja dengan Potongan 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