Junior — Middle
შესაძლებელია თუ არა შექმნათ სტრუქტურა ან მონაცემთა ტიპი, რომელიც მსგავსია ნაკრებისთვის, Go ენისთვის?
sobes.tech AI
პასუხი AI-სგან
Go ენის შიგნით არ არსებობს ინტეგრირებული "კატეგორია" (set) ტიპი, მაგრამ მას შეიძლება განახორციელოს შესაბამისი ტიპის გასაღებების და struct{} ან bool ტიპის მნიშვნელობების მქონე რუკის (map) გამოყენებით. struct{}-ის გამოყენება დაზოგავს მეხსიერებას, რადგან ცარიელი სტრუქტურა ადგილი არ იკავებს.
მაგალითი სტრიქონების კატეგორიის განსახორციელებლად:
// ქმნით სტრიქონების კატეგორიას
set := make(map[string]struct{})
// დამატება ელემენტი
set["apple"] = struct{}{}
// შემოწმება თუ არსებობს ელემენტი
if _, exists := set["apple"]; exists {
fmt.Println("ელემენტი კატეგორიაშია")
}
// ელემენტის წაშლა
delete(set, "apple")
ამ გზით, გასაღებების და ცარიელი მნიშვნელობების მქონე რუკა ეფექტურად მოდელირებს კატეგორიას.