Sobes.tech
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.