Junior — Middle
Môže štruktúra v Go implementovať rozhranie a ako to urobiť?
sobes.tech AI
Odpoveď od AI
Áno, v jazyku Go môže štruktúra implementovať rozhranie. Na to musí štruktúra obsahovať všetky metódy deklarované v rozhraní. V Go implementácia rozhrania nevyžaduje explicitné vyhlásenie — ak štruktúra obsahuje potrebné metódy, je automaticky považovaná za implementujúcu rozhranie.
Príklad:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "Ahoj, volám sa " + p.Name
}
func main() {
var s Speaker = Person{Name: "Ivan"}
fmt.Println(s.Speak())
}
V tomto príklade, Person implementuje rozhranie Speaker, pretože má metódu Speak() so správnou podpisom.