Sobes.tech
Junior — Middle

Czy możliwa jest implementacja struktury danych Set w języku Go?

sobes.tech AI

Odpowiedź od AI

W Go nie ma wbudowanej struktury danych Set, ale można ją zaimplementować za pomocą mapy (map) z kluczami odpowiedniego typu i wartościami typu bool lub pustej struktury struct{}.\n\nPrzykład implementacji zbioru łańcuchów:\n\ngo\npackage main\n\nimport "fmt"\n\nfunc main() {\n set := make(map[string]struct{})\n\n // Dodanie elementów\n set["apple"] = struct{}{}\n set["banana"] = struct{}{}\n\n // Sprawdzenie, czy element istnieje\n if _, exists := set["apple"]; exists {\n fmt.Println("apple jest w zbiorze")\n }\n\n // Usunięcie elementu\n delete(set, "banana")\n}\n\n\nUżycie pustej struktury struct{} zamiast bool oszczędza pamięć, ponieważ struct{} zajmuje 0 bajtów.