Sobes.tech
Junior — Middle

Erklären Sie das Konzept der Typ-Summe in der Programmiersprache Go und deren Verwendung

sobes.tech KI

Antwort von AI

In der Programmiersprache Go wird das Konzept des Sum-Types (Typ-Summe) durch Schnittstellen (Interfaces) implementiert und ermöglicht die Beschreibung von Variablen, die Werte aus verschiedenen Typen annehmen können, die durch eine gemeinsame Schnittstelle verbunden sind.

Ein Sum-Type ist eine Möglichkeit auszudrücken, dass ein Wert einer von mehreren Typen sein kann, was nützlich ist, um verschiedene Datenvarianten an einem Ort zu verarbeiten.

Beispiel für die Verwendung:

package main
import "fmt"

// Definieren einer Schnittstelle, die verschiedene Typen vereint
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("Fläche:", s.Area())
}

func main() {
    var s Shape
    s = Circle{Radius: 5}
    printArea(s)
    s = Rectangle{Width: 3, Height: 4}
    printArea(s)
}

Hier fungiert die Schnittstelle Shape als Sum-Typ für Circle und Rectangle. Dies ermöglicht es der Funktion, verschiedene Typen zu akzeptieren, die durch ein gemeinsames Verhalten verbunden sind.