Sobes.tech
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)
}