Zestaw Golang

Zestaw Golang
Jeśli pochodzisz z języka programowania, takiego jak Python, znasz koncepcję zestawów.

Zestaw odnosi się do zbioru nieuporządkowanych elementów. Zestawy są unikalne i nie pozwalają na zduplikowane wartości w jednym wpisie.

Jeśli pracujesz z programowaniem Go, szybko zdajesz sobie sprawę, że nie ma zestawów koncepcji. Możemy jednak grać w niektóre sztuczki z mapami i strukturami, aby stworzyć zestaw.

Golang Utwórz zestaw

Zasadniczo zestawy są zbiorem unikalnych wartości. Możemy użyć mapy z pustą strukturą, aby je reprezentować.

Możemy wyrazić tę składnię jako:

var mySet Map [typ] struct

Ponieważ pusta struktura przyjmuje 0 bajtów, zestaw jest bardzo wydajną metodą wdrażania zestawu.

Poniższy przykład tworzy prosty zestaw za pomocą poprzedniej składni.

Pakiet Main
Wpisz void struct
var Member Void
func main ()
set: = make (map [string] void)

Poprzedni przykład tworzy pusty zestaw z łańcuchem jako klawisz i pustą strukturę.

Golang Dodaj elementy do zestawu

Po ogłoszeniu zestawu możemy dodać elementy do mapy za pomocą składni mapy. Przykład jest jak pokazano poniżej:

Pakiet Main
importować „fmt”
Wpisz void struct
var Member Void
func main ()
set: = make (map [string] void)
SET [„Apple”] = Członek
SET [„Orange”] = członek
zestaw [„mango”] = członek
fmt.Println (zestaw)

W poprzednim przykładzie przypisujemy nowe wartości do zestawu.

Golang Set iteracja

Możemy iterować mapę za pomocą klasycznego operatora pętli i zasięgu. Przykład kodu pokazano poniżej:

Pakiet Main
importować „fmt”
Wpisz void struct
var Member Void
func main ()
set: = make (map [string] void)
SET [„Apple”] = Członek
SET [„Orange”] = członek
zestaw [„mango”] = członek
dla k: = zestaw zakresu
fmt.Println (k)

Powyższa konstrukcja pętli powinna zwrócić elementy w zestawie:

$ Go Run Sets.Iść
mango
jabłko
Pomarańczowy

Golang Usuń element zestawu

Możemy usunąć elementy z zestawu za pomocą metody usuwania. Na przykład, aby usunąć element „Apple” z zestawu, możemy zrobić:

Pakiet Main
importować „FMT”
Wpisz void struct
var Member Void
func main ()
set: = make (map [string] void)
zestaw [„Apple”] = członek
SET [„Orange”] = Członek
zestaw [„mango”] = członek
Usuń (zestaw, „Apple”)
dla k: = zestaw zakresu
fmt.Println (k)

Metoda Delete bierze nazwę zestawu i elementu do usunięcia.

Golang sprawdź, czy element istnieje

Możemy sprawdzić, czy element istnieje w zestawie przy użyciu pokazanej składni:

jeśli _, OK: = set [„jabłko”]; OK
fmt.Println („element istnieje”)
w przeciwnym razie
fmt.Println („Element nie znaleziono”)

Poprzedni kod powinien wykonać blok if, gdy element jest w zestawie, a blok enyk.

Wniosek

W tym artykule zbadano, jak zaimplementować typ zestawu w języku programowania Go. Przed użyciem zestawu dla środowisk krytycznych wydajności sprawdź, jak zestaw wpływa na wydajność. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i informacji.