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 παρέχουν ελεγχόμενη πρόσβαση σε αυτό.