Junior — Middle
Kokie duomenų tipai yra tinkami naudoti kaip raktai Map struktūroje?
sobes.tech AI
Atsakymas iš AI
Go kalboje raktai map struktūroje gali būti tik tie tipai, kurie palaiko lyginimo operaciją (== ir !=). Tai svarbu, nes raktų pagalba ieškant reikšmės, reikia palyginti raktus.
Tinkami raktų tipai:
- Paprasti tipai:
int,float64,string,boolir kt. - Nuorodos
- Struktūros, jei visi jų laukai yra palyginami
- Masyvai, jei jų elementai yra palyginami
Negalima naudoti kaip raktų:
- Slicing
(slice`) - Žemėlapiai (
map) - Funkcijos
Pavyzdys:
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
fmt.Println(m["apple"]) // 5
Jei bandysite naudoti slicing kaip raktą, kompiliatorius išmes klaidą.