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 մեթոդ։