Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Slice kepada Peta dalam Go?

Bagaimana untuk Menukar Slice kepada Peta dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-11-13 14:44:02772semak imbas

How to Convert a Slice to a Map in Go?

Menukar Slices kepada Peta dalam Go

Dalam Go, menukar kepingan kepada peta memerlukan sedikit usaha berbanding operasi serupa dalam bahasa seperti Perl. Begini cara anda boleh mencapai penukaran ini:

Penyelesaian:

Menggunakan gelung mudah untuk ialah kaedah yang berkesan untuk menukar kepingan kepada peta dalam Go:

elements := []string{"abc", "def", "fgi", "adi"}
elementMap := make(map[string]string)

for i := 0; i < len(elements); i += 2 {
    elementMap[elements[i]] = elements[i+1]
}

Dalam gelung ini:

  • make(peta[rentetan]rentetan) mencipta peta kosong jenis map[rentetan].
  • Gelung berulang pada kepingan elemen dalam langkah 2.
  • Untuk setiap lelaran, gelung memasangkan elemen semasa (elemen[i]) sebagai kunci dan elemen seterusnya (elemen[i 1]) sebagai nilai dalam peta elemenPeta.

Pelaksanaan:

Contoh runnable yang disediakan menunjukkan proses menukar kepingan rentetan kepada peta:

elements := []string{"abc", "def", "fgi", "adi"}
elementMap := make(map[string]string)

for i := 0; i < len(elements); i += 2 {
    elementMap[elements[i]] = elements[i+1]
}

fmt.Println(elementMap)

Output:

map[abc:def fgi:adi]

Fungsi Perpustakaan Standard:

Perlu diingat bahawa perpustakaan standard Go tidak termasuk fungsi khusus untuk menukar kepingan kepada peta. Oleh itu, pendekatan gelung for yang diterangkan di atas biasanya digunakan untuk menyelesaikan tugasan ini.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Slice kepada 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