Junior — Middle
Може ли се структура података користити као кључ у мапи или хеш табли?
sobes.tech АИ
Одговор од АИ
U Go jeziku, struktura podataka može se koristiti kao ključ u mapi (map) ako zadovoljava zahteve za poređenje (comparable). To znači da svi njeni atributi moraju biti tipovi koji se mogu porediti pomoću operatora ==.
Na primer, strukture koje sadrže samo osnovne tipove (int, string, bool itd.) ili druge poredivе strukture mogu biti ključevi. Međutim, strukture koje sadrže slice-ove, mape ili funkcije ne mogu biti ključevi, jer ti tipovi nisu poredivi.
Primer:
package main
import "fmt"
type Point struct {
X, Y int
}
func main() {
m := make(map[Point]string)
p := Point{X: 1, Y: 2}
m[p] = "tačka"
fmt.Println(m[p]) // izlaz: tačka
}
Ako struktura sadrži neporediva polja, kompajler će prikazati grešku pri pokušaju da je koristi kao ključ mape.