Junior — Middle
Kas struktuur Go keeles saab rakendada liidest ja kuidas seda teha?
sobes.tech AI
Vastus AI-lt
Jah, Go keeles struktuur võib rakendada liidest. Selleks peab struktuur omama kõiki liidese deklareeritud meetodeid. Go keeles liidese rakendamine ei nõua selget deklaratsiooni — kui struktuur sisaldab vajalikke meetodeid, loetakse see automaatselt liidese rakendanuks.
Näide:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "Tere, minu nimi on " + p.Name
}
func main() {
var s Speaker = Person{Name: "Ivan"}
fmt.Println(s.Speak())
}
Selles näites rakendab Person liidest Speaker, kuna tal on meetod Speak() vajaliku signatuuriga.