Sobes.tech
Junior — Middle

Mi a különbség a térkép és a szelet használata között Go-ban, és mely esetekben érdemes inkább az egyiket vagy a másikat alkalmazni?

sobes.tech MI

Válasz az MI-től

Go-ban a map és a slice különböző célokra szolgál:

  • map — asszociatív tömb, szerkezet kulcs-érték párok tárolására gyors hozzáféréssel a kulcs szerint. A kulcsok egyediek.
  • slice — dinamikus tömb, rendezett elemek gyűjteménye, index szerint elérhető.

Mikor használjuk:

  • Használjon map-et, ha gyorsan kell elemeket találni egyedi kulcs szerint, például felhasználók ID szerint való tárolására.
  • Használjon slice-t, ha az elemek sorrendje fontos, vagy kulcs nélküli elemek halmazát kell tárolni, például feladatok listája.

Példa:

// map a diákok jegyeinek tárolására név szerint
grades := map[string]int{"Alice": 90, "Bob": 85}

// slice a nevek listájának tárolására
names := []string{"Alice", "Bob", "Charlie"}

A választás a feladattól függ: kulcs szerinti kereséshez — map, rendezett listához — slice.