Sobes.tech
Junior — Middle

Map to'plamida kalit sifatida massivlarni qo'llash mumkinmi?

sobes.tech AI

AIdan javob

Go'da, map kolleksiyasidagi kalitlar faqat == taqqoslash operatsiyasini qo'llab-quvvatlaydigan turlar bo'lishi mumkin. Go'da massivlar elementma-element taqqoslanadi, shuning uchun belgilangan uzunlikdagi massivlar kalit sifatida ishlatilishi mumkin.

Misol:

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "misol"
    fmt.Println(m[key]) // Chiqishi: misol
}

Ammo, slices ([]int) kalit sifatida ishlatilmaydi, chunki ular taqqoslanmaydi. Agar slices asosida kalitlar bo'lgan kolleksiya kerak bo'lsa, ularni satrga yoki boshqa taqqoslanadigan turga aylantirish kerak.