Sobes.tech
Junior — Middle

Είναι δυνατή η υλοποίηση μιας δομής δεδομένων Set στη γλώσσα Go;

sobes.tech AI

Απάντηση από AI

Στη γλώσσα Go δεν υπάρχει ενσωματωμένη δομή δεδομένων Set, αλλά μπορεί να υλοποιηθεί χρησιμοποιώντας έναν χάρτη (map) με κλειδιά του επιθυμητού τύπου και τιμές τύπου bool ή κενή δομή struct{}.\n\nΠαράδειγμα υλοποίησης ενός συνόλου συμβολοσειρών:\n\ngo\npackage main\n\nimport "fmt"\n\nfunc main() {\n set := make(map[string]struct{})\n\n // Προσθήκη στοιχείων\n set["apple"] = struct{}{}\n set["banana"] = struct{}{}\n\n // Έλεγχος αν ένα στοιχείο υπάρχει\n if _, exists := set["apple"]; exists {\n fmt.Println("το μήλο υπάρχει στο σύνολο")\n }\n\n // Διαγραφή στοιχείου\n delete(set, "banana")\n}\n\n\nΗ χρήση κενής δομής struct{} αντί για bool εξοικονομεί μνήμη, καθώς η struct{} καταλαμβάνει 0 bytes.