Sobes.tech
Junior — Middle

Kā īstenot datu struktūru Set Go valodā?

sobes.tech AI

Atbilde no AI

Go valodā nav iebūvēta tipa Set, bet to var īstenot, izmantojot karti (map) ar atslēgām no vēlamā tipa un vērtību bool vai tukšu struktūru struct{}. Piemēram, virkņu kopu var izveidot šādi:

package main

import "fmt"

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

    // Elementu pievienošana
    set["apple"] = struct{}{}
    set["banana"] = struct{}{}

    // Pārbaude, vai elements ir
    if _, exists := set["apple"]; exists {
        fmt.Println("ābols ir kopā")
    }

    // Elementa dzēšana
    delete(set, "banana")

    // Elementu iterācija
    for key := range set {
        fmt.Println(key)
    }
}

Tukšas struktūras struct{} izmantošana taupa atmiņu, jo tā aizņem 0 baitus.