Sobes.tech
Junior — Middle

Czy dopuszczalne jest deklarowanie metody w interfejsie z nazwą zaczynającą się od małej litery?

sobes.tech AI

Odpowiedź od AI

W Go (Golang) nazwy metod rozpoczynające się od małej litery są uważane za nieeksportowane, czyli dostępne tylko w pakiecie, w którym zostały zadeklarowane. W interfejsie można deklarować metody z nazwami zaczynającymi się od małej litery, ale wtedy ten interfejs będzie przydatny tylko w obrębie pakietu, ponieważ takie metody nie będą widoczne na zewnątrz.

Jeśli interfejs jest eksportowany (zaczyna się od wielkiej litery), zazwyczaj jego metody również są eksportowane (zaczynają się od wielkiej litery), aby były dostępne poza pakietem.

Przykład:

package example

type MyInterface interface {
    doSomething() // metoda z małą literą, nieeksportowana
}

Taki interfejs i jego metoda są dostępne tylko w pakiecie example.

Podsumowując: deklarowanie metod z nazwami zaczynającymi się od małej litery w interfejsie jest dozwolone, ale ogranicza ich widoczność do pakietu.