Junior — Middle
Wie erfolgt die Übergabe von Argumenten in Funktionen in der Programmiersprache Go?
sobes.tech KI
Antwort von AI
In der Programmiersprache Go werden Argumente in Funktionen per Wert übergeben. Das bedeutet, dass beim Aufruf einer Funktion Kopien der Argumentwerte übergeben werden, und Änderungen innerhalb der Funktion die Originalvariablen nicht beeinflussen.
Wenn eine Variable vom aufrufenden Code aus geändert werden soll, wird ein Zeiger auf diese Variable übergeben. Die Funktion erhält dann die Adresse und kann den Wert an dieser Adresse ändern.
Beispiel für Übergabe per Wert und per Zeiger:
package main
import "fmt"
func incrementByValue(x int) {
x = x + 1
}
func incrementByPointer(x *int) {
*x = *x + 1
}
func main() {
a := 5
incrementByValue(a)
fmt.Println(a) // Gibt 5 aus, da per Wert übergeben
incrementByPointer(&a)
fmt.Println(a) // Gibt 6 aus, da per Zeiger übergeben
}