Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Slice Digunakan sebagai Kekunci Peta dalam Go?

Bolehkah Slice Digunakan sebagai Kekunci Peta dalam Go?

DDD
DDDasal
2024-11-12 04:22:01476semak imbas

Can Slices Be Used as Map Keys in Go?

Menggunakan Slices dan Array sebagai Kekunci Peta

Dalam Go, kunci peta mesti melaksanakan pengendali == dan != untuk membandingkan kesamarataan mereka. Slices tidak melaksanakan operator ini, jadi kepingan tidak boleh digunakan secara langsung sebagai kunci peta. Walau bagaimanapun, tatasusunan boleh digunakan sebagai kunci peta kerana ia melaksanakan pengendali yang diperlukan.

Menggunakan Tatasusunan sebagai Kekunci Peta

Untuk menggunakan tatasusunan sebagai kunci peta, anda boleh mengisytiharkan peta menggunakan jenis tatasusunan sebagai jenis kunci. Contohnya:

package main

import "fmt"

func main() {
    m := make(map[[2]int]bool)
    m[[2]int{1, 2}] = false
    fmt.Printf("%v", m)
}

Peta ini mempunyai jenis utama [2]int, iaitu tatasusunan dua integer. Jenis nilai peta ialah bool.

Menggunakan Slices dengan Menukar kepada Rentetan

Jika anda perlu menggunakan kepingan sebagai kunci peta, anda boleh menukar kepingan kepada rentetan dan gunakan rentetan sebagai kunci. Contohnya:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    m := make(map[string]bool)
    m[strconv.Itoa([]string{"a", "b"})] = false
    fmt.Printf("%v", m)
}

Peta ini mempunyai jenis rentetan utama, yang merupakan perwakilan rentetan bagi hirisan rentetan. Jenis nilai peta ialah bool.

Atas ialah kandungan terperinci Bolehkah Slice Digunakan sebagai Kekunci 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