Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengendalikan elemen peta dalam golang

Cara mengendalikan elemen peta dalam golang

PHPz
PHPzasal
2023-04-11 10:39:27749semak imbas

Golang (juga dikenali sebagai Go) ialah bahasa pengaturcaraan moden, pantas dan serentak. Go menyediakan banyak jenis terbina dalam dan struktur data, yang paling biasa digunakan ialah peta. Peta ialah salah satu struktur data yang paling biasa digunakan dalam pengaturcaraan Go. Ia menyediakan skema storan nilai kunci yang mudah dan menyokong operasi pertanyaan dan pengubahsuaian pantas, jadi ia adalah penting dalam pengaturcaraan Go.

Apabila menggunakan peta, biasanya kita perlu melakukan operasi pertanyaan untuk mendapatkan nilai yang sepadan dengan nilai kunci tertentu. Jadi, bagaimana untuk melaksanakan operasi pertanyaan peta? Artikel ini akan memperkenalkan kaedah pertanyaan peta Golang.

Penggunaan asas pertanyaan peta

peta ialah jenis rujukan Anda boleh mencipta peta kosong menggunakan fungsi make adalah seperti berikut:

make(map[KeyType]ValueType, [cap])

di mana KeyType ialah jenis kunci, ValueType ialah jenis nilai dan topi ialah kapasiti peta pilihan, yang menunjukkan kapasiti awal peta.

Berikut ialah contoh program yang mencipta peta, menambah elemen dan pertanyaan:

package main

import "fmt"

func main() {
    // 创建一个空的 map
    scores := make(map[string]int)

    // 添加键值对
    scores["Alice"] = 90
    scores["Bob"] = 85
    scores["Charlie"] = 80

    // 查询键值对应的值
    fmt.Println(scores["Bob"]) // 输出 85
}

Dalam contoh program di atas, kami mula-mula menggunakan fungsi make untuk mencipta peta kosong, dan kemudian lulus markah Bentuk [kunci] = nilai menambah tiga set pasangan nilai kunci. Akhir sekali, kami menggunakan markah["Bob"] untuk menanyakan markah Bob dan menghasilkan keputusan.

Perlu diambil perhatian bahawa apabila menggunakan pertanyaan peta, jika kunci yang ditentukan tidak wujud, nilai sifar jenis nilai yang sepadan, seperti nol, akan dikembalikan. Dalam contoh di atas, jika kami membuat pertanyaan untuk kunci yang tidak wujud, seperti markah["David"], nilai sifar jenis int 0 akan dikembalikan.

Tentukan sama ada kunci yang ditentukan wujud dalam peta

Dalam pengaturcaraan sebenar, kita selalunya perlu menentukan sama ada kunci yang ditentukan wujud dalam peta. Kaedah untuk menentukan sama ada kunci yang ditentukan wujud dalam peta adalah sangat mudah, hanya gunakan operator koma secara terus:

value, ok := scores["Bob"]
if ok == true {
    fmt.Println("Bob's score is", value)
} else {
    fmt.Println("Bob's score does not exist")
}

Dalam kod di atas, kami menggunakan operator koma dan menerima nilai pulangan markah[ "Bob"] dan nilai Boolean ok Jika ok adalah benar, ini bermakna kunci Bob wujud dalam skor dan nilainya boleh diperolehi jika tidak, ini bermakna kunci ini tidak wujud dalam skor.

Peta lintasan

Apabila menggunakan peta, kita selalunya perlu melintasi semua pasangan nilai kunci dalam peta. Go menyediakan kata kunci julat untuk mengulangi elemen dalam peta.

Berikut ialah contoh atur cara untuk merentasi peta:

package main

import "fmt"

func main() {
    // 创建一个 map
    scores := map[string]int{
        "Alice":   90,
        "Bob":     85,
        "Charlie": 80,
    }

    // 遍历 map
    for key, value := range scores {
        fmt.Println(key, value)
    }
}

Dalam kod di atas, kami menggunakan kata kunci julat untuk mengulangi semua pasangan nilai kunci dalam peta skor dan mengeluarkan kunci dan nilai mereka.

Ringkasan

Di Golang, peta ialah struktur data yang sangat berkuasa, yang menyediakan penyelesaian storan nilai kunci yang mudah dan menyokong operasi pertanyaan dan pengubahsuaian pantas. Artikel ini memperkenalkan penggunaan asas pertanyaan peta, kaedah untuk menentukan sama ada kunci yang ditentukan wujud dalam peta dan melintasi peta. Menguasai pengetahuan ini membolehkan pengaturcara menggunakan bahasa pengaturcaraan Golang dengan lebih cekap.

Atas ialah kandungan terperinci Cara mengendalikan elemen peta dalam golang. 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