Sobes.tech
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 მეთოდები უზრუნველყოფენ კონტროლირებულ წვდომას მისით.