Sobes.tech
Junior — Middle

W jakich przypadkach stosuje się pustą strukturę w programowaniu?

sobes.tech AI

Odpowiedź od AI

W Go, pusta struktura struct{} to struktura bez pól, która zajmuje 0 bajtów pamięci. Jest używana w przypadkach, gdy trzeba przechowywać informacje o obecności czegoś, bez dodatkowych danych.

Przykłady zastosowania:

  • Zbiory (set): do przechowywania unikalnych elementów można użyć map[Type]struct{} zamiast map[Type]bool, co oszczędza pamięć.
  • Sygnały i powiadomienia: pusta struktura może służyć jako flaga lub znacznik.

Przykład zbioru w Go:

set := make(map[string]struct{})
set["apple"] = struct{}{}
set["banana"] = struct{}{}

if _, exists := set["apple"]; exists {
    fmt.Println("Jabłko jest w zbiorze")
}