Junior — Middle
Kā noteikt, vai noteikta struktūra īsteno dotu interfeisu?
sobes.tech AI
Atbilde no AI
Go valodā interfeisa īstenošana tiek pārbaudīta netieši: ja tips satur visus interfeisā deklarētos metodes, tas automātiski īsteno šo interfeisu.
Lai noteiktu, vai struktūra īsteno doto interfeisu, jūs varat:
- Mēģināt piešķirt struktūras piemēru interfeisa tipa mainīgajam — ja kompilācija ir veiksmīga, tas nozīmē, ka struktūra īsteno interfeisu.
- izmantot statisku pārbaudi ar _var _:
var _ MyInterface = (*MyStruct)(nil)
Ja šis kods tiek kompilēts bez kļūdām, tas nozīmē, ka MyStruct īsteno MyInterface interfeisu.
Piemērs:
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m *MyStruct) DoSomething() {
// īstenošana
}
// Interfeisa īstenošanas pārbaude
var _ MyInterface = (*MyStruct)(nil)
Tādējādi, Go valodā nav nepieciešams skaidri norādīt interfeisa īstenošanu — pietiek ar to, ka tiek īstenotas visas tā metodes.