Sobes.tech
Junior — Middle

Zašto je vrednost u mapi korisna ako su važne samo ključevi?

sobes.tech АИ

Одговор од АИ

U Go-u, ako su važni samo ključevi u mapi, vrednost (value) može biti prazna struktura struct{}. Ovo omogućava uštedu memorije, jer prazna struktura ne zauzima prostor. Ovaj pristup se često koristi za implementaciju skupova (set), gde je važan samo faktor prisustva ključa.

Primer:

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

// Provera prisustva ključa
if _, exists := set["jabuka"]; exists {
    fmt.Println("jabuka je u skupu")
}

Na ovaj način, vrednost služi samo kao marker prisustva ključa bez dodatnog opterećenja memorije.