Junior — Middle
Jaki jest główny cel pustej struktury danych?
sobes.tech AI
Odpowiedź od AI
Pusta struktura w Go (struct{}) nie zawiera pól i zajmuje 0 bajtów pamięci. Głównym jej przeznaczeniem jest służenie jako znacznik lub flaga, gdy ważny jest sam fakt istnienia wartości, a nie jej zawartość. Na przykład często jest używana jako wartość w map, aby zaimplementować zbiór (set), gdzie klucze to elementy zbioru, a wartości to puste struktury, aby oszczędzić pamięć.
Przykład użycia pustej struktury do zbioru:
set := make(map[string]struct{})
set["jabłko"] = struct{}{}
set["banan"] = struct{}{}
if _, exists := set["jabłko"]; exists {
fmt.Println("Jabłko jest w zbiorze")
}
W ten sposób pusta struktura pomaga efektywnie reprezentować kolekcje bez duplikujących się danych.