Sobes.tech
Junior — Middle

Vai ir iespējams izveidot struktūru vai datu tipu, kas ir līdzīgs kopai Go valodā?

sobes.tech AI

Atbilde no AI

Go valodā nav iebūvēta "kopu" (set) tips, bet to var īstenot, izmantojot karti (map) ar atslēgām vēlamajā tipā un vērtībām struct{} vai bool. struct{} izmantošana ietaupa atmiņu, jo tukša struktūra neaizņem vietu.

Piemērs, kā īstenot virkņu kopu:

// Izveidojam virkņu kopu
set := make(map[string]struct{})

// Pievienojam elementu
set["apple"] = struct{}{}

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

// Noņemam elementu
delete(set, "apple")

Šādā veidā, karte ar atslēgām un tukšām vērtībām efektīvi modelē kopu.