Kursinhalt
Einführung in Golang
Einführung in Golang
Arrays in Funktionen Übergeben
Ein wertvolles Merkmal ist die Fähigkeit, Arrays in Funktionen zu übergeben, sodass wir diese Arrays in anderen Gültigkeitsbereichen verwenden können, insbesondere wenn sie lokal deklariert sind.
Die allgemeine Syntax für ein Array-Argument in einer Funktion ist wie folgt:
Die Implementierung in einer Funktion würde ungefähr so aussehen:
index
func myFunc(arr [5] int) { // code here }
Das folgende Beispiel zeigt, wie ein Array in eine Funktion übergeben und verwendet wird:
index
package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }
In Go (Golang) werden Arrays immer als Wert in Funktionen übergeben. Das bedeutet, dass beim Übergeben eines Arrays an eine Funktion eine lokale Kopie des ursprünglichen Arrays innerhalb der Funktion erstellt wird. Folglich wirken sich Änderungen, die am Array innerhalb der Funktion vorgenommen werden, nicht auf das ursprüngliche Array aus, da die Daten, auf die innerhalb der Funktion zugegriffen wird, eine Kopie des ursprünglichen Arrays sind.
Das folgende Programm veranschaulicht, dass Änderungen am Array innerhalb der Funktion das ursprüngliche Array nicht beeinflussen:
index
package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }
Hinweis
Im Gegensatz zum Übergeben nach Wert gibt es das Konzept des Übergebens nach Referenz, bei dem eine Referenz auf das Array oder die Variable in die Funktion übergeben wird. Folglich wird durch das Ändern des Wertes innerhalb der Funktion auch die Quelle geändert. In einigen Programmiersprachen werden Arrays standardmäßig als Referenz übergeben.
Danke für Ihr Feedback!