Rumah  >  Artikel  >  pembangunan bahagian belakang  >  peta golang ditambah

peta golang ditambah

PHPz
PHPzasal
2023-05-21 21:28:06844semak imbas

Golang ialah bahasa pengaturcaraan lanjutan yang menggabungkan prestasi tinggi bahasa C dengan kesederhanaan dan kemudahan penggunaan bahasa Python. Ia telah berkembang pesat dan telah menjadi salah satu bahasa pengaturcaraan yang paling banyak digunakan dalam industri. Dalam artikel ini, kita akan membincangkan operasi tambah peta di Golang.

Peta ialah struktur data yang digunakan untuk menyimpan pasangan nilai kunci. Ia serupa dengan Kamus dalam Python, HashMap dalam Java, dll. Peta ialah jenis rujukan dalam Golang dan boleh dimulakan menggunakan fungsi make. Tidak seperti tatasusunan, panjang Peta boleh berkembang secara dinamik, menjadikannya ideal untuk menyimpan pasangan nilai kunci yang tidak tentu bilangan.

Di Golang, operasi menambah Peta dibahagikan kepada dua bahagian Bahagian pertama adalah untuk mencipta pembolehubah jenis Peta, dan bahagian kedua ialah menambah data pada Peta.

Pertama, kita perlu mengisytiharkan pembolehubah jenis Peta Sintaksnya adalah seperti berikut:

var m map[keyType]valueType

di mana keyType mewakili jenis kunci masuk. Peta dan valueType mewakili Jenis nilai dalam Peta. Sebagai contoh, jika kita ingin mencipta Peta dengan kekuncinya ialah jenis rentetan dan nilainya ialah jenis integer, pernyataan pengisytiharan adalah seperti berikut:

var m map[string]int

Perlu diambil perhatian bahawa , pengisytiharan di sini tidak memperuntukkan ruang memori untuk Peta, jadi fungsi buat mesti digunakan untuk memulakan Peta sebelum menggunakan Peta. Sintaks untuk menggunakan fungsi make adalah seperti berikut:

m = make(map[keyType]valueType)

Atau anda boleh menggunakan sintaks pengisytiharan pendek untuk mencipta Peta dengan cepat:

m := make( map[string]int)

Sekarang kita telah mencipta pembolehubah jenis Peta m, kita boleh menambah pasangan nilai kunci kepada m. Operasi penambahan menggunakan Peta memerlukan penggunaan operator subskrip [], yang serupa dengan operator subskrip tatasusunan dalam bahasa lain. Apabila kita menambah elemen baharu pada Peta, kita perlu memberikan kunci dan nilai elemen tersebut. Berikut ialah contoh kod:

m["one"] = 1
m["two"] = 2

Dalam contoh ini, kami menambah dua pada nilai Map Key berpasangan, kuncinya adalah "satu" dan "dua", dan nilainya masing-masing adalah 1 dan 2. Jika kita ingin mengubah suai elemen dalam Peta, kita boleh menggunakan sintaks yang sama.

Untuk kunci yang sudah wujud dalam Peta, kita boleh mendapatkan nilainya melalui operator subskrip. Berikut ialah kod sampel:

fmt.Println(m["one"]) // Output 1
fmt.Println(m["two"]) // Output 2

Apabila kami menggunakan operator subskrip untuk mendapatkan kunci yang tidak wujud dalam Peta, Peta akan mengembalikan nilai sifar jenis nilai yang sepadan dengan kunci. Sebagai contoh, jika kita menggunakan baris kod berikut untuk mendapatkan nilai dengan kunci "tiga":

fmt.Println(m["tiga"]) // Output 0

di mana 0 adalah jenis int nilai sifar.

Perlu diingat bahawa di Golang, Map ialah struktur data selamat serentak, jadi elemen dalam Map boleh diakses dan diubah suai dengan selamat dalam berbilang goroutin. Walau bagaimanapun, operasi baca dan tulis serentak pada kekunci yang sama boleh menyebabkan keadaan perlumbaan. Oleh itu, apabila melakukan operasi serentak, kita perlu menggunakan fungsi sepadan yang disediakan dalam pakej penyegerakan untuk memastikan keselamatan Peta.

Ringkasnya, Map in Golang ialah struktur data yang berkuasa yang menyediakan banyak operasi yang mudah. Kita boleh memulakan Peta menggunakan fungsi make dan menambah elemen baharu pada Peta melalui operator subskrip. Peta sangat cekap apabila mengakses elemen dan juga sangat selamat dalam aplikasi berbilang benang.

Atas ialah kandungan terperinci peta golang ditambah. 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