Junior — Middle
როგორ ხორციელდება მონაცემთა ინკაპსულაცია პროგრამულ ენაში Go?
sobes.tech AI
პასუხი AI-სგან
Go ენის კაპსულაცია მიღწეულია იდენტიფიკატორების ხილვადობის წესით: თუ ცვლადის, ფუნქციის, მეთოდის ან სტრუქტურის ველის სახელწოდება იწყება დიდი ასოთი, ის ექსპორტირებულია და ხელმისაწვდომია სხვა პაკეტებიდან; თუ პატარა ასოთი იწყება, ხელმისაწვდომია მხოლოდ მიმდინარე პაკეტში.
მონაცემების დასამალად, საკმარისია სტრუქტურის ველები დაწეროთ პატარა ასოთი, ხოლო მათზე წვდომისთვის განახორციელოთ მეთოდები დიდი ასოთი (getter-ები და setter-ები).
მაგალითი:
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 მეთოდები უზრუნველყოფენ კონტროლირებულ წვდომას მისით.