Sobes.tech
Junior — Middle

Jaka jest różnica między używaniem mapy a slice w Go, i w jakich przypadkach lepiej jest używać każdego z nich?

sobes.tech AI

Odpowiedź od AI

W Go map i slice służą do różnych celów:

  • map — tablica asocjacyjna, struktura do przechowywania par klucz-wartość z szybkim dostępem po kluczu. Klucze są unikalne.
  • slice — dynamiczna tablica, uporządkowana kolekcja elementów, dostęp po indeksie.

Kiedy używać:

  • Użyj map, jeśli potrzebujesz szybko znaleźć element po unikalnym kluczu, np. przechowywać użytkowników po ID.
  • Użyj slice, jeśli ważny jest kolejność elementów lub chcesz przechowywać zbiór elementów bez kluczy, np. lista zadań.

Przykład:

// map do przechowywania ocen studentów po imieniu
grades := map[string]int{"Alice": 90, "Bob": 85}

// slice do przechowywania listy imion
names := []string{"Alice", "Bob", "Charlie"}

Wybór zależy od zadania: do wyszukiwania po kluczu — map, do uporządkowanej listy — slice.