Sobes.tech
Junior — Middle

Чӣ гуна метавон сохтори додаҳои Set-ро дар забони Go амалӣ кард?

sobes.tech AI

Ҷавоб аз AI

Дар забони Go намуди дохилии Set вуҷуд надорад, аммо онро бо ёрии харита (map) бо калидҳои навъи лозим ва арзиши bool ё сохтори холӣ struct{} иҷро кардан мумкин аст. Масалан, маҷмӯи сатрҳоро чунин месозанд:

package main

import "fmt"

func main() {
    set := make(map[string]struct{})

    // Илова кардани унсурҳо
    set["apple"] = struct{}{}
    set["banana"] = struct{}{}

    // Санҷиши мавҷудияти унсур
    if _, exists := set["apple"]; exists {
        fmt.Println("яблоко дар маҷмӯъ аст")
    }

    // Ҳамроҳ кардани унсур
    delete(set, "banana")

    // Гузариш ба унсурҳо
    for key := range set {
        fmt.Println(key)
    }
}

Истифодаи сохтори холӣ struct{} дар ҷои bool ёдгирӣро сарфа мекунад, зеро он 0 байтро ишғол мекунад.