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 բայթ։