Senior
Wat zijn interfaces in Go? Hoe implementeren types interfaces?
sobes.tech AI
Antwoord van AI
In Go is een interface een verzameling methoden die gedrag beschrijven. Een type implementeert een interface als het alle methoden bevat die in de interface zijn gedeclareerd, zonder expliciet de implementatie van de interface aan te geven.
Dit wordt impliciete interface-implementatie genoemd. Hierdoor kan je flexibelere en uitbreidbare code schrijven.
Voorbeeld:
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) {
// leesimplementatie
return 0, nil
}
func main() {
var r Reader
f := File{}
r = f // File implementeert Reader
fmt.Println(r)
}
Hier implementeert het type File de interface Reader omdat het een Read-methode heeft met de juiste handtekening.