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 ბაიტს იკავებს.