Junior — Middle
Kāda ir atšķirība starp kartes un sērijas izmantošanu Go valodā, un kādos gadījumos ir vēlams izmantot katru no tiem?
sobes.tech AI
Atbilde no AI
Go valodā map un slice kalpo dažādiem mērķiem:
- map — saistītais masīvs, struktūra, kas glabā pārus atslēga-vērtība ar ātru piekļuvi pēc atslēgas. Atslēgas ir unikālas.
- slice — dinamiskais masīvs, sakārtota elementu kolekcija, piekļuve pēc indeksa.
Kad lietot:
- Izmantojiet map, ja nepieciešams ātri atrast elementus pēc unikālas atslēgas, piemēram, glabāt lietotājus pēc ID.
- Izmantojiet slice, ja ir svarīgs elementu kārtības saglabāšana vai nepieciešams glabāt elementu kopu bez atslēgām, piemēram, uzdevumu sarakstu.
Piemērs:
// map, lai glabātu studentu vērtējumus pēc vārda
grades := map[string]int{"Alice": 90, "Bob": 85}
// slice, lai glabātu vārdu sarakstu
names := []string{"Alice", "Bob", "Charlie"}
Izvēle ir atkarīga no uzdevuma: meklēšana pēc atslēgas — map, sakārtots saraksts — slice.