Junior — Middle
Leg het concept van type-som in de Go-taal uit en het gebruik ervan
sobes.tech AI
Antwoord van AI
In de programmeertaal Go wordt het concept van sum type (somtype) geïmplementeerd via interfaces en stelt het je in staat om variabelen te beschrijven die waarden kunnen aannemen van verschillende typen, verenigd door een gemeenschappelijke interface.
Een sum type is een manier om uit te drukken dat een waarde een van meerdere typen kan zijn, wat handig is voor het verwerken van verschillende datavarianten op één plek.
Voorbeeld van gebruik:
package main
import "fmt"
// Definieer een interface die verschillende typen combineert
type Shape interface {
Area() float64
}
type Circle struct {
Radius float64
}
func (c Circle) Area() float64 {
return 3.14 * c.Radius * c.Radius
}
type Rectangle struct {
Width, Height float64
}
func (r Rectangle) Area() float64 {
return r.Width * r.Height
}
func printArea(s Shape) {
fmt.Println("Oppervlakte:", s.Area())
}
func main() {
var s Shape
s = Circle{Radius: 5}
printArea(s)
s = Rectangle{Width: 3, Height: 4}
printArea(s)
}
Hier fungeert de interface Shape als een sum type voor Circle en Rectangle. Dit stelt de functie in staat om verschillende typen te accepteren die verbonden zijn door een gemeenschappelijk gedrag.