Sobes.tech
Junior — Middle

Go-da struktur interfeys tətbiq edə bilərmi və necə etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, Go dilində struktur interfeys həyata keçirə bilər. Bunun üçün struktur interfeysdə elan olunan bütün metodlara malik olmalıdır. Go-da interfeysi həyata keçirmə, açıq şəkildə bildirilmir — əgər struktur lazım olan metodları ehtiva edirsə, avtomatik olaraq interfeysi həyata keçirir.

Nümunə:

package main
import "fmt"

type Speaker interface {
    Speak() string
}

type Person struct {
    Name string
}

func (p Person) Speak() string {
    return "Salam, mənim adım " + p.Name
}

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

Bu nümunədə, Person Speaker interfeysini həyata keçirir, çünki onun Speak() metodu və lazım olan imzaya malikdir.