Sobes.tech
Middle

Go-da irsiyyəti təqlid etmək üçün daxili strukturlardan necə istifadə etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində obyekt yönümlü dillərdəki kimi klassik irsiyyət yoxdur, lakin daxil edilmiş strukturlardan (embedding) istifadə etməklə irsiyyətə bənzətmək mümkündür. Bu, bir strukturu başqa bir struktur daxilində ad göstərmədən daxil etməklə həyata keçirilir və bu, daxil edilmiş strukturun metodlarını "miras almağa" imkan verir.

Nümunə:

package main
import "fmt"

type Animal struct {
    Name string
}

func (a Animal) Speak() {
    fmt.Println(a.Name, "danışır")
}

type Dog struct {
    Animal // daxil edilmiş struktur
    Breed string
}

func main() {
    d := Dog{
        Animal: Animal{Name: "Bobby"},
        Breed:  "Qərb çoban iti",
    }
    d.Speak() // Animal metodunu Dog vasitəsilə çağırmaq
}

Bu şəkildə, Dog "Animal" metodlarını miras alır və onları birbaşa istifadə edə bilər.