Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է աշխատել Map-ով, երբ օգտագործում եք միայն բանալիները, առանց արժեքների պահելու:

sobes.tech AI

Պատասխան AI-ից

Go-ում, եթե անհրաժեշտ է օգտագործել Map միայն բանալիների պահեստավորման համար առանց արժեքների, սովորաբար օգտագործվում է Map՝ արժեքի տիպով struct{} — դատարկ կառուցվածք, որը չի զբաղեցնում հիշողություն:

Օրինակ՝

keys := make(map[string]struct{})

// Բանալի ավելացում
keys["բանալի1"] = struct{}{}

// Ստուգում՝ կա արդյոք բանալի
if _, exists := keys["բանալի1"]; exists {
    fmt.Println("Բանալի գտվեց")
}

// Բանալի հեռացում
delete(keys, "բանալի1")

Այս մոտեցումը արդյունավետ է և հաճախ օգտագործվում է հավաքածուներ (set) իրականացնելիս Go-ում։