Arrays an Funktionen Übergeben
Eine nützliche Funktion ist die Möglichkeit, Arrays an Funktionen zu übergeben, sodass diese Arrays in anderen Gültigkeitsbereichen verwendet werden können, insbesondere wenn sie lokal deklariert wurden.
Die allgemeine Syntax für ein Array-Argument in einer Funktion ist wie folgt:
argName [expectedArraySize] dataType
Die Implementierung in einer Funktion sieht beispielsweise so aus:
index.go
123func myFunc(arr [5] int) { // code here }
Das folgende Beispiel zeigt, wie ein Array an eine Funktion übergeben und verwendet wird:
index.go
123456789101112131415package 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 an 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 am Array innerhalb der Funktion nicht auf das ursprüngliche Array aus, da auf eine Kopie des Originals zugegriffen wird.
Das folgende Programm veranschaulicht, dass Änderungen am Array innerhalb der Funktion das ursprüngliche Array nicht beeinflussen:
index.go
12345678910111213package 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 zur Übergabe per Wert gibt es das Konzept der Übergabe per Referenz, bei dem eine Referenz auf das Array oder die Variable an die Funktion übergeben wird. Dadurch führt eine Änderung des Werts innerhalb der Funktion auch zu einer Änderung der Quelle. In einigen Programmiersprachen werden Arrays standardmäßig per Referenz übergeben.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 1.96
Arrays an Funktionen Übergeben
Swipe um das Menü anzuzeigen
Eine nützliche Funktion ist die Möglichkeit, Arrays an Funktionen zu übergeben, sodass diese Arrays in anderen Gültigkeitsbereichen verwendet werden können, insbesondere wenn sie lokal deklariert wurden.
Die allgemeine Syntax für ein Array-Argument in einer Funktion ist wie folgt:
argName [expectedArraySize] dataType
Die Implementierung in einer Funktion sieht beispielsweise so aus:
index.go
123func myFunc(arr [5] int) { // code here }
Das folgende Beispiel zeigt, wie ein Array an eine Funktion übergeben und verwendet wird:
index.go
123456789101112131415package 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 an 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 am Array innerhalb der Funktion nicht auf das ursprüngliche Array aus, da auf eine Kopie des Originals zugegriffen wird.
Das folgende Programm veranschaulicht, dass Änderungen am Array innerhalb der Funktion das ursprüngliche Array nicht beeinflussen:
index.go
12345678910111213package 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 zur Übergabe per Wert gibt es das Konzept der Übergabe per Referenz, bei dem eine Referenz auf das Array oder die Variable an die Funktion übergeben wird. Dadurch führt eine Änderung des Werts innerhalb der Funktion auch zu einer Änderung der Quelle. In einigen Programmiersprachen werden Arrays standardmäßig per Referenz übergeben.
Danke für Ihr Feedback!