Sobes.tech
Senior

რა არის ინტერფეისები Go-ში? როგორ ახორციელებენ ტიპები ინტერფეისებს?

sobes.tech AI

პასუხი AI-სგან

Go ენაში, ინტერფეისი არის მეთოდების ნაკრები, რომელიც აღწერს ქცევას. ტიპი ახორციელებს ინტერფეისს, თუ მას აქვს ყველა მეთოდი, რომელიც გამოქვეყნებულია ინტერფეისში, გარეშე ინტერფეისის ახსნის.

ეს უწოდება უხილავი ინტერფეისის განხორციელება. ამის გამო, შეიძლება დაწეროთ უფრო მოქნილი და გაფართოებადი კოდი.

მაგალითი:

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) {
    // წაკითხვის განხორციელება
    return 0, nil
}

func main() {
    var r Reader
    f := File{}
    r = f // File ახორციელებს Reader-ს
    fmt.Println(r)
}

აქ, ტიპი File ახორციელებს ინტერფეისს Reader, რადგან მას აქვს მეთოდი Read საჭირო სიგნატურით.