Junior — Middle
Care este scopul principal al unei structuri de date goale?
sobes.tech AI
Răspuns de la AI
Structura goală în Go (struct{}) nu conține câmpuri și ocupă 0 octeți de memorie. Scopul principal al acestei structuri este de a servi ca marker sau flag, atunci când este important faptul că valoarea există, nu conținutul său. De exemplu, este adesea folosită ca valoare într-un map pentru a implementa un set, unde cheile sunt elementele setului și valorile sunt structuri goale pentru a economisi memorie.
Exemplu de utilizare a unei structuri goale pentru un set:
set := make(map[string]struct{})
set["măr"] = struct{}{}
set["banană"] = struct{}{}
if _, exists := set["măr"]; exists {
fmt.Println("mărul este în set")
}
Astfel, structura goală ajută la reprezentarea eficientă a colecțiilor fără date duplicate.