Rumah >pembangunan bahagian belakang >Golang >Panduan ringkas untuk menganalisis secara mendalam struktur data Peta di Golang

Panduan ringkas untuk menganalisis secara mendalam struktur data Peta di Golang

WBOY
WBOYasal
2024-01-16 10:12:101307semak imbas

Panduan ringkas untuk menganalisis secara mendalam struktur data Peta di Golang

Peta di Golang ialah struktur data yang sangat biasa digunakan, yang boleh mengaitkan kunci dengan nilai. Peta sangat berguna dalam banyak situasi, seperti mengira bilangan kali perkataan tertentu muncul dalam artikel, menyimpan markah ujian pelajar, dsb.

Artikel ini akan memperkenalkan Peta di Golang dengan cara yang ringkas dan mudah difahami, termasuk maksud Peta, ciri-ciri Peta, cara menggunakan Peta, dan merentasi Peta, dsb., dan juga akan menulis beberapa contoh kod secara beransur-ansur untuk memantapkan ilmu yang dipelajari.

1. Apakah itu Peta?

Peta ialah struktur data yang memetakan kunci kepada nilai Setiap kunci hanya boleh muncul sekali dan nilai yang sepadan boleh muncul berulang kali. Di Golang, pelaksanaan Map adalah serupa dengan jadual cincang, yang boleh melaksanakan operasi sisipan, pemadaman dan carian dengan cepat.

Format pengisytiharan Peta ialah:

map[KeyType]ValueType

di mana KeyType dan ValueType mewakili jenis kunci dan nilai masing-masing. Berikut ialah contoh:

var students map[string]int

Contoh ini mentakrifkan peta, jenis kunci ialah rentetan dan jenis nilai ialah int. Sebelum permulaan, peta ini adalah sifar dan tidak boleh digunakan.

2. Ciri Map

  1. Kekunci peta mestilah daripada jenis yang menyokong pengendali "==" dan "!=", seperti int, float, rentetan, bool, dsb. Kecuali untuk tiga kes berikut, jenis dalam Golang boleh digunakan sebagai kekunci Peta:

a Struktur dengan dua medan berikut:

type Key struct {
  x, y int
}

b, dan jenis elemen menyokong "==" Dan jenis "!=" operator:

type Key [2]int

c jenis antara muka, dan nilai dinamiknya bukan nol:

type Key interface {
}
  1. Map ialah jenis rujukan, dan nilai sifarnya ialah nil. Jika anda cuba untuk beroperasi pada nilai sifar, panik masa jalan akan berlaku.
  2. Gunakan fungsi make untuk memulakan Peta:
students := make(map[string]int)
  1. Tambah atau ubah suai elemen pada Peta:
students["Tom"] = 90
students["Jerry"] = 80
students["Mary"] = 95

Jika anda ingin mengubah suai elemen dalam Peta, hanya gunakan kekunci yang sama. Jika anda ingin menambah pasangan nilai kunci baharu, cuma tulis nilai dalam kedudukan kunci.

  1. Padam elemen daripada Peta:
delete(students, "Jerry")

Parameter pertama fungsi padam ialah Peta dan parameter kedua ialah kunci untuk dipadamkan.

  1. Tentukan sama ada kunci tertentu wujud dalam peta:
score, ok := students["Tom"]
if ok {
  fmt.Printf("Tom's score is %d.
", score)
} else {
  fmt.Println("Tom not found.")
}
e

3. Cara menggunakan peta

Mari kita lihat contoh tertentu. .

package main

import (
    "fmt"
    "strings"
)

func main() {
    str := "Go is a programming language.Golang is a updated version of the Go language. It was created by Google."

    // 将字符串按照空格分隔成切片
    words := strings.Fields(str)

    // 创建一个空Map,用于统计单词出现次数
    count := make(map[string]int)

    // 统计单词出现次数
    for _, word := range words {
        count[word]++
    }

    // 打印结果
    for word, cnt := range count {
        fmt.Printf("%s: %d
", word, cnt)
    }
}

Dalam contoh ini, kita mula-mula menggunakan fungsi Fields dalam pakej rentetan untuk memisahkan rentetan menjadi kepingan rentetan, dan kemudian mencipta Peta kosong. Kemudian, gunakan gelung for untuk menggunakan setiap perkataan dalam hirisan sebagai kunci, tambah 1 pada nilai yang sepadan, dan akhirnya melintasi Peta dan mencetak bilangan kali setiap perkataan muncul.

4. Traverse Map

Di Golang, anda boleh menggunakan gelung for untuk melintasi Peta. Pasangan nilai kunci yang dikembalikan semasa melintasi Peta adalah tidak tertib.

  1. Melintasi kekunci peta:
for key := range students {
    fmt.Println(key)
}
  1. Melintasi nilai-nilai peta:
for _, value := range students {
    fmt.Println(value)
}
  1. Melintasi pasangan nilai kunci peta:
Kaedah caner di atas

untuk melintasi mana-mana Peta, sama ada rentetan itu Ia boleh digunakan pada kedua-dua Peta kunci dan Peta jenis lain.

Ringkasan

Artikel ini terutamanya memperkenalkan Peta di Golang, termasuk definisi, ciri, penggunaan dan traversal Peta, dsb. Dalam pembangunan sebenar, Map ialah struktur data yang sangat biasa digunakan, dan amat diperlukan bagi pembangun Golang untuk menguasai penggunaan Map.

Atas ialah kandungan terperinci Panduan ringkas untuk menganalisis secara mendalam struktur data Peta di 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