Junior — Middle
Kādi datu tipi var kalpot kā atslēga kartes konteinerī?
sobes.tech AI
Atbilde no AI
Go valodā atslēga kartē var būt tikai no salīdzināmiem (comparable) datu tipiem. Tas nozīmē, ka atslēgai jābūt definētai ar operatoru ==.
Piemēroti atslēgu tipi:
- Būtības vērtības (
bool) - Skaitļi (
int,float64,uint8u.c.) - Rindas (
string) - Norādītāji
- Kanāli
- Interfeisi, ja dinamiskais tips ir salīdzināms
- Struktūras, ja visi lauki ir salīdzināmi
Nav atļauts izmantot kā atslēgu:
- Sērijas (
slice) - Kartes (
map) - Funkcijas
Piemērs:
m := make(map[string]int)
m["key"] = 42
// Struktūra ar salīdzināmiem lauciņiem
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Punkts"
Ja mēģināsiet izmantot nesalīdzināmu tipu kā atslēgu, kompilators izmetīs kļūdu.