Sobes.tech
Junior — Middle

Vai struktūra Go valodā var īstenot interfeisu un kā to izdarīt?

sobes.tech AI

Atbilde no AI

Jā, Go valodā struktūra var īstenot saskarni. Tam struktūrai jābūt visām saskarnē deklarētajām metodēm. Go valodā saskarnes īstenošana neprasa skaidru deklarāciju — ja struktūra satur nepieciešamās metodes, tā automātiski tiek uzskatīta par saskarnes īstenotāju.

Piemērs:

package main
import "fmt"

type Speaker interface {
    Speak() string
}

type Person struct {
    Name string
}

func (p Person) Speak() string {
    return "Sveiki, mani sauc " + p.Name
}

func main() {
    var s Speaker = Person{Name: "Ivan"}
    fmt.Println(s.Speak())
}

Šajā piemērā, Person īsteno saskarni Speaker, jo tam ir Speak() metode ar nepieciešamo parakstu.