Sobes.tech
Junior — Middle

Cum se poate implementa o structură de date Set în limbajul Go?

sobes.tech AI

Răspuns de la AI

În limbajul Go, nu există un tip Set încorporat, dar acesta poate fi implementat folosind o hartă (map) cu chei de tipul dorit și valoare bool sau o structură goală struct{}. De exemplu, un set de șiruri poate fi realizat astfel:

package main

import "fmt"

func main() {
    set := make(map[string]struct{})

    // Adăugarea elementelor
    set["apple"] = struct{}{}
    set["banana"] = struct{}{}

    // Verificarea existenței unui element
    if _, exists := set["apple"]; exists {
        fmt.Println("apple este în set")
    }

    // Ștergerea unui element
    delete(set, "banana")

    // Parcurgerea elementelor
    for key := range set {
        fmt.Println(key)
    }
}

Utilizarea unei structuri goale struct{} în loc de bool economisește memorie, deoarece ocupă 0 bytes.