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.