Sobes.tech
Junior — Middle

За какво може да се използва стойността в карта, ако важни са само ключовете?

sobes.tech AI

Отговор от AI

В Go, ако важни са само ключовете в map, стойността (value) може да се използва като празна структура struct{}. Това позволява да се спести памет, тъй като празната структура не заема място. Този подход често се използва за реализиране на множества (set), където важи само фактът на наличието на ключ.

Пример:

set := make(map[string]struct{})
set["ябълка"] = struct{}{}
set["банан"] = struct{}{}

// Проверка за наличие на ключ
if _, exists := set["ябълка"]; exists {
    fmt.Println("ябълката е в множеството")
}

По този начин стойността служи просто като маркер за присъствие на ключа без допълнителна паметна тежест.