Sobes.tech
Junior — Middle

Go тилинде Set маалыматтардын түзүмүн кантип ишке ашырууга болот?

sobes.tech AI

AIден жооп

Go тилинде ички Set тиби жок, бирок аны каалаган түрдөгү ачкычтар жана мааниси bool же бош struct{} структурасы менен карта (map) аркылуу ишке ашырса болот. Мисалы, саптар топтомун мындай түзүүгө болот:

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 байтты ээлейт.