Sobes.tech
Senior

Go-da interfeyslər nədir? Növlər interfeysləri necə həyata keçirir?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, interfeys davranışı təsvir edən metodlar toplusudur. Bir növ, interfeysdə elan olunan bütün metodları ehtiva edirsə, interfeysi açıq şəkildə göstərmədən implementasiya edir.

Bu, qeyri-adi interfeys tətbiqi adlanır. Bu sayədə daha çevik və genişlənə bilən kod yaza bilərsiniz.

Nümunə:

package main
import "fmt"

type Reader interface {
    Read(p []byte) (n int, err error)
}

type File struct {}

func (f File) Read(p []byte) (n int, err error) {
    // oxuma tətbiqi
    return 0, nil
}

func main() {
    var r Reader
    f := File{}
    r = f // File, Reader-i tətbiq edir
    fmt.Println(r)
}

Burada, File tipi, lazım olan imzaya sahib Read metodu ilə Reader interfeysini tətbiq edir.