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{} կառուցվածքի օգտագործումը խնայողություն է հիշողության մեջ, քանի որ այն զբաղեցնում է 0 բայթ։