Junior — Middle
Vai ir iespējams deklarēt metodes ar privātu redzamības jomu Go valodā?
sobes.tech AI
Atbilde no AI
Go meto redzes apjoms ir irobežojumiem ir noteiktas ar ar lielo vai mazo burta pirmais burts metodes nosaukumā. Ja metodes nosaukums sākas ar lielo burtu, tas tiek eksportēts (publisks), ja ar mazo — metodes ir privātas (pieejamas tikai paketē). Tādējādi, Go nav atslēgas vārda private, bet var paziņot metodi ar privātu redzes apjomu, vienkārši sākot tās nosaukumu ar mazo burtu.
Piemērs:
package mypackage
type MyStruct struct {}
func (m MyStruct) publicMethod() {
// privāta metode, pieejama tikai paketē mypackage
}
func (m MyStruct) PublicMethod() {
// publiska metode, pieejama no citām paketēm
}
Izsaukums publicMethod būs iespējams tikai paketē mypackage.