Junior — Middle
По какви начини можете да проверите дали структурата съответства на зададения интерфейс?
sobes.tech AI
Отговор от AI
В Go проверката за съответствие на структура с интерфейс се извършва неявно — ако структурата реализира всички методи на интерфейса, тя му съответства.
За явна проверка по време на компилация често се използва проверка на компилация чрез присвояване:
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m MyStruct) DoSomething() {}
// Проверка на компилация
var _ MyInterface = (*MyStruct)(nil)
Ако MyStruct не реализира MyInterface, компилаторът ще даде грешка. Това е удобен начин да се уверите, че структурата съответства на интерфейса, без да стартирате програмата.