Junior — Middle
Kokia yra skirtumas tarp žemėlapio ir skilties naudojimo Go kalboje, ir kuriomis progomis geriau naudoti kiekvieną iš jų?
sobes.tech AI
Atsakymas iš AI
Go kalboje map ir slice tarnauja skirtingiems tikslams:
- map — asociatyvus masyvas, struktūra, skirta saugoti poras raktas-reikšmė su greitu prieiga per raktą. Raktai yra unikalūs.
- slice — dinaminis masyvas, tvarkingas elementų rinkinys, prieiga per indeksą.
Kada naudoti:
- Naudokite map, jei reikia greitai rasti elementus pagal unikalų raktą, pvz., saugoti vartotojus pagal ID.
- Naudokite slice, jei svarbus elementų tvarkos išlaikymas arba norite saugoti elementų rinkinį be raktų, pvz., užduočių sąrašą.
Pavyzdys:
// map, skirtas saugoti studentų pažymius pagal vardą
grades := map[string]int{"Alice": 90, "Bob": 85}
// slice, skirtas saugoti vardų sąrašą
names := []string{"Alice", "Bob", "Charlie"}
Pasirinkimas priklauso nuo užduoties: paieška pagal raktą — map, tvarkinga sąrašas — slice.