Sobes.tech
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.