Sobes.tech
Junior — Middle

შესაძლებელია თუ არა მეთოდების გამოძახება კერძო ხილვადობის სფეროში Go ენის ფარგლებში?

sobes.tech AI

პასუხი AI-სგან

Go-ში მეთოდების ხილვადობის სფერო განსაზღვრავს მეთოდის სახელის პირველი ასოს დიდი ან პატარა ასო. თუ მეთოდის სახელის პირველი ასო დიდი ასოა, ის ექსპორტირებულია (საჯარო), თუ პატარა ასოა, მეთოდი კერძოა (მხოლოდ პაკეტში ხელმისაწვდომია). ამგვარად, Go-ში არ არსებობს private საკვანძო სიტყვა, მაგრამ მეთოდის კერძო ხილვადობის სფეროს შეიძლება გამოაცხადოთ უბრალოდ მისი სახელის პატარა ასოთი დაწყებით.

მაგალითი:

package mypackage

type MyStruct struct {}

func (m MyStruct) publicMethod() {
    // კერძო მეთოდი, ხელმისაწვდომია მხოლოდ mypackage პაკეტში
}

func (m MyStruct) PublicMethod() {
    // საჯარო მეთოდი, ხელმისაწვდომია სხვა პაკეტებიდან
}

publicMethod-ის გამოძახება შესაძლებელი იქნება მხოლოდ mypackage პაკეტში.