Sobes.tech
Junior — Middle

Go dilində toplama bənzər struktur və ya məlumat tipi yaratmaq mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində daxili "toplama" (set) tipi yoxdur, lakin onu istənilən növ açarları və struct{} və ya bool tipində dəyərləri olan xəritə (map) vasitəsilə həyata keçirmək mümkündür. struct{} istifadə etmək yaddaşdan qənaət edir, çünki boş struktur yer tutmur.

Stringlərdən ibarət toplama nümunəsi:

// Stringlər üçün toplama yaradırıq
set := make(map[string]struct{})

// Element əlavə edirik
set["apple"] = struct{}{}

// Elementin olub-olmadığını yoxlayırıq
if _, exists := set["apple"]; exists {
    fmt.Println("Element toplamada var")
}

// Elementi silirik
delete(set, "apple")

Bu şəkildə, açarları və boş dəyərləri olan xəritə effektiv şəkildə toplama modelini yaradır.