Junior — Middle
Wat is het verschil tussen de interface in de programmeertaal Go en interfaces in andere programmeertalen?
sobes.tech AI
Antwoord van AI
In de programmeertaal Go verschillen interfaces doordat ze impliciet zijn — het type hoeft niet expliciet aan te geven dat het de interface implementeert. Als een type alle methoden van de interface bevat, wordt het automatisch als implementatie ervan beschouwd.
Dit verschilt van veel andere talen, waar het expliciet aangeven dat een klasse of type een interface implementeert, nodig is.
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) {
// implementatie van de methode
return 0, nil
}
func main() {
var r Reader
var f File
r = f // File implementeert automatisch Reader
fmt.Println(r)
}