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