Sobes.tech
Junior — Middle

Կարո՞ղ է զանգվածները օգտագործել որպես բանալի Map հավաքածուում։

sobes.tech AI

Պատասխան AI-ից

Go-ում, map հավաքածուի բանալիները կարող են լինել միայն այն տիպերը, որոնք աջակցում են == համեմատական գործողությանը: Go-ում զանգվածները համեմատելի են տարր առ տարր, այդ պատճառով սահմանված երկարության զանգվածները կարող են օգտագործվել որպես բանալիներ:

Օրինակ՝

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "մոդել"
    fmt.Println(m[key]) // Տպում է՝ մոդել
}

Սակայն, սլայսերը ([]int) չեն կարող օգտագործվել որպես բանալիներ, քանի որ դրանք չեն համեմատելի: Եթե ձեզ անհրաժեշտ է հավաքածու, որի բանալիները հիմնված են սլայսերի վրա, ապա դրանք պետք է փոխակերպել տող կամ այլ համեմատելի տիպի։