Sobes.tech
Junior — Middle

Is het toegestaan om in een interface een methode te declareren met een naam die begint met een kleine letter?

sobes.tech AI

Antwoord van AI

In Go (Golang) worden methodenamen die beginnen met een kleine letter als niet geëxporteerd beschouwd, dat wil zeggen dat ze alleen binnen het pakket waarin ze zijn gedeclareerd toegankelijk zijn. In een interface kunnen methoden met namen die beginnen met een kleine letter worden gedeclareerd, maar dan is deze interface alleen binnen het pakket nuttig, omdat dergelijke methoden van buitenaf niet zichtbaar zijn.

Als de interface wordt geëxporteerd (begint met een hoofdletter), worden meestal ook de methoden geëxporteerd (beginnen met een hoofdletter) zodat ze buiten het pakket toegankelijk zijn.

Voorbeeld:

package example

type MyInterface interface {
    doSomething() // methode met kleine letter, niet geëxporteerd
}

Zo'n interface en zijn methode zijn alleen binnen het package example toegankelijk.

Kort samengevat: het is toegestaan om methoden met namen die beginnen met een kleine letter te declareren in een interface, maar dit beperkt hun zichtbaarheid tot het pakket.