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) չեն կարող օգտագործվել որպես բանալիներ, քանի որ դրանք չեն համեմատելի: Եթե ձեզ անհրաժեշտ է հավաքածու, որի բանալիները հիմնված են սլայսերի վրա, ապա դրանք պետք է փոխակերպել տող կամ այլ համեմատելի տիպի։