Senior
Ce sunt interfețele în Go? Cum implementează tipurile interfețele?
sobes.tech AI
Răspuns de la AI
În Go, o interfață este un set de metode care descriu un comportament. Un tip implementează o interfață dacă conține toate metodele declarate în interfață, fără a indica explicit implementarea interfeței.
Aceasta se numește implementare implicită a interfețelor. Datorită acestui fapt, se poate scrie un cod mai flexibil și extensibil.
Exemplu:
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) {
// implementarea citirii
return 0, nil
}
func main() {
var r Reader
f := File{}
r = f // File implementează Reader
fmt.Println(r)
}
Aici, tipul File implementează interfața Reader deoarece are o metodă Read cu semnătura necesară.