Back to questions
Avito
Junior — Middle
81
Каким образом в Go обозначить, что структура реализует определённый интерфейс?
Companies where asked
Answer from AI
sobes.tech AI
В Go структура неявно реализует интерфейс, если она содержит все методы, объявленные в этом интерфейсе. Нет необходимости явно указывать, что структура реализует интерфейс — достаточно реализовать соответствующие методы.
Пример:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Dog struct {}
func (d Dog) Speak() string {
return "Woof!"
}
func main() {
var s Speaker = Dog{} // Dog реализует интерфейс Speaker
fmt.Println(s.Speak())
}
Здесь Dog реализует метод Speak(), поэтому он автоматически реализует интерфейс Speaker.