Interface — это тип, который определяет набор сигнатур методов без указания их реализации. Он устанавливает контракт, который должны выполнять конкретные типы, позволяя использовать полиморфизм в Go.
implementsТип реализует интерфейс, определив все методы, указанные в его описании. Вот практический пример:
type Animal interface {
Speak() string
}
type Dog struct{}
func (d Dog) Speak() string {
return "Woof!"
}
type Cat struct{}
func (c Cat) Speak() string {
return "Meow!"
}
Когда Dog и Cat реализуют Animal, ты можешь писать функции, которые принимают любой тип Animal, делая свой код более поддерживаемым и тестируемым.
Использование интерфейсов способствует развязке кода, позволяя функциям зависеть от типов интерфейсов вместо конкретных типов структур.
Новый — ещё не проверен сообществом
Вы