Sobes.tech
Junior — Middle

По какви начини можете да проверите дали структурата съответства на зададения интерфейс?

sobes.tech AI

Отговор от AI

В Go проверката за съответствие на структура с интерфейс се извършва неявно — ако структурата реализира всички методи на интерфейса, тя му съответства.

За явна проверка по време на компилация често се използва проверка на компилация чрез присвояване:

type MyInterface interface {
    DoSomething()
}

type MyStruct struct {}

func (m MyStruct) DoSomething() {}

// Проверка на компилация
var _ MyInterface = (*MyStruct)(nil)

Ако MyStruct не реализира MyInterface, компилаторът ще даде грешка. Това е удобен начин да се уверите, че структурата съответства на интерфейса, без да стартирате програмата.