Junior — Middle
Կարո՞ղ է ստեղծել կառուցվածք կամ տվյալների տեսակ, որը նման է հավաքածուի, Go լեզվում։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում չկան ներքին միավոր (set) տիպեր, բայց այն կարելի է իրականացնել օգտագործելով քարտեզ (map) ցանկալի տիպի բանալիներով և struct{} կամ bool տիպի արժեքներով։ struct{}-ի օգտագործումը խնայում է հիշողությունը, քանի որ դատարկ կառուցվածքը տեղ չի զբաղեցնում։
Օրինակ՝ տողերի միավորի իրականացման համար՝
// Ստեղծում ենք տողերի միավոր
set := make(map[string]struct{})
// Ավելացնում ենք տարր
set["apple"] = struct{}{}
// Ստուգում ենք, արդյոք տարրը կա
if _, exists := set["apple"]; exists {
fmt.Println("Տարրը կա միավորի մեջ")
}
// Հեռացնում ենք տարր
delete(set, "apple")
Այսպիսով, բանալիներով և դատարկ արժեքներով քարտեզը արդյունավետ կերպով մոդելավորում է միավոր։