Sobes.tech
Junior — Middle

Goда структура интерфейсти ишке ашыра алабы жана муну кантип жасоо керек?

sobes.tech AI

AIден жооп

Ооба, Go тилинде структура интерфейсди ишке ашыра алат. Анын үчүн структурада интерфейсте жарыяланган бардык методдор болушу керек. Goда интерфейсди ишке ашыруу үчүн ачык билдирүү талап кылынбайт — эгер структурада керектүү методдор болсо, ал автоматтык түрдө интерфейсди ишке ашырат деп эсептелет.

Мисал:

package main
import "fmt"

type Speaker interface {
    Speak() string
}

type Person struct {
    Name string
}

func (p Person) Speak() string {
    return "Салам, менин атым " + p.Name
}

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

Бул мисалда, Person Speaker интерфейсин ишке ашырат, анткени ал Speak() методун камтыйт жана зарыл подписька ээ.