Sobes.tech
Junior — Middle

Πώς υλοποιείται η αρχή της ενσωμάτωσης δεδομένων στη γλώσσα Go;

sobes.tech AI

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

Στο Go, η ενκασουλάτσια επιτυγχάνεται μέσω του κανόνα ορατότητας των αναγνωριστικών: αν το όνομα μιας μεταβλητής, συνάρτησης, μεθόδου ή πεδίου δομής αρχίζει με κεφαλαίο γράμμα, εξάγεται και είναι προσβάσιμο από άλλα πακέτα· αν αρχίζει με μικρό γράμμα, είναι προσβάσιμο μόνο εντός του τρέχοντος πακέτου.

Έτσι, για να κρύψετε δεδομένα, αρκεί να κάνετε τα πεδία της δομής με μικρό γράμμα και να υλοποιήσετε μεθόδους με κεφαλαίο γράμμα (getters και setters) για πρόσβαση σε αυτά.

Παράδειγμα:

package user

type User struct {
    name string // ιδιωτικό πεδίο
}

func NewUser(name string) *User {
    return &User{name: name}
}

func (u *User) GetName() string {
    return u.name
}

func (u *User) SetName(name string) {
    u.name = name
}
}

Εδώ, το πεδίο name είναι κρυμμένο από εξωτερική πρόσβαση, και οι μέθοδοι GetName και SetName παρέχουν ελεγχόμενη πρόσβαση σε αυτό.