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.