Back to questions
Junior — Middle
88
Какими способами можно проверить, соответствует ли структура заданному интерфейсу?
Answer from AI
sobes.tech AI
В Go проверка соответствия структуры интерфейсу происходит неявно — если структура реализует все методы интерфейса, то она ему соответствует.
Для явной проверки на этапе компиляции часто используют компиляционную проверку с помощью присваивания:
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m MyStruct) DoSomething() {}
// Компиляционная проверка
var _ MyInterface = (*MyStruct)(nil)
Если MyStruct не реализует MyInterface, компилятор выдаст ошибку. Это удобный способ убедиться, что структура соответствует интерфейсу без запуска программы.