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