Sobes.tech
Junior — Middle

Können Sie erklären, was Referenztypen in Programmiersprachen sind?

sobes.tech KI

Antwort von AI

In Programmiersprachen bedeuten Typen, die per Referenz übergeben werden, dass beim Übergabe einer Variablen an eine Funktion oder Methode nicht eine Kopie des Wertes übergeben wird, sondern eine Referenz (Zeiger) auf die Originaldaten. Änderungen innerhalb der Funktion wirken sich auf das ursprüngliche Objekt aus.

In Go werden primitive Typen (int, float, bool) per Wert übergeben, während komplexe Typen wie Slices, Maps, Zeiger, Kanäle und Schnittstellen per Referenz übergeben werden.

Beispiel für die Übergabe eines Slices per Referenz:

func modifySlice(s []int) {
    s[0] = 100
}

func main() {
    nums := []int{1, 2, 3}
    modifySlice(nums)
    fmt.Println(nums) // Gibt [100 2 3] aus
}

Hier erhält die Funktion eine Referenz auf das Slice, daher spiegeln Änderungen innerhalb der Funktion das Original-Slice wider. Dies ermöglicht eine effiziente Arbeit mit großen Datenstrukturen ohne Kopieren.