Datenübergabe an Funktionen
Funktionen sind nicht sehr nützlich, wenn wir aufgrund unterschiedlicher Gültigkeitsbereiche nicht auf Daten außerhalb von ihnen zugreifen können. Allerdings können wir Daten mithilfe von 'Parametern' an Funktionen übergeben.
Parameter definieren ein Format für Daten, die eine Funktion beim Aufruf oder bei der Ausführung erwartet.
In den vorherigen Kapiteln haben wir einfache Funktionen ohne Parameter betrachtet. Wir können jedoch eine Funktion mit Parametern mit folgender Syntax deklarieren:
index.go
123func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Jeder Parameter kann einen eigenen Namen gefolgt vom Datentyp besitzen. Die Parameter werden durch Kommas getrennt. Für Parameter gelten die gleichen Namenskonventionen wie für Variablen.
Das folgende Beispiel veranschaulicht die Verwendung von Funktionen mit Parametern:
index.go
12345678910111213141516171819202122package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
Im obigen Programm sind Funktionen mit einem, zwei und drei Parametern zu erkennen. Es ist grundsätzlich möglich, Funktionen mit beliebig vielen Parametern zu erstellen.
Werte können diesen Funktionen entweder direkt oder über Variablen übergeben werden. Im folgenden Beispiel wird der Zeichenkettenwert direkt an die erwartete Parameterstelle übergeben:
index.go
1outThreeTimes("Hello World")
Alternativ kann der Wert in einer Zeichenkettenvariablen gespeichert und anschließend an die Funktion übergeben werden:
index.go
12var msg string = "Hello World" outThreeTimes(msg)
In der folgenden Anweisung ist eine Kombination beider Ansätze zu erkennen:
index.go
123var a int = 4 var b int = 7 product(a, b, 9)
Sie können die Methode wählen, die am besten zu Ihren Anforderungen passt.
Hinweis
Beim Übergeben von Variablen oder Datenwerten an eine Funktion werden diese als Argumente bezeichnet. Im Fall von
product(a, b, 9)sind die Begriffea,bund9Argumente. Im Gegensatz dazu werden in der Funktionsdeklarationval1 int,val2 intundval3 intals Parameter bezeichnet.
Es ist wichtig, Daten in der Reihenfolge der definierten Parameter an Funktionen zu übergeben. Beispielsweise sollte bei einer Funktion func myFunc(an int, b string) das erste Argument ein Integer und das zweite ein String sein; jede andere Reihenfolge führt zu Fehlern.
Innerhalb der Funktion fungieren Parameter effektiv als Variablen, die die Werte der übergebenen Argumente annehmen. Daher führt die Deklaration von Variablen mit demselben Namen wie ein Funktionsparameter im Funktionsrumpf zu Fehlern.
index.go
123func myFunc(param int) { var param int = 1 // Error Here }
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
Datenübergabe an Funktionen
Swipe um das Menü anzuzeigen
Funktionen sind nicht sehr nützlich, wenn wir aufgrund unterschiedlicher Gültigkeitsbereiche nicht auf Daten außerhalb von ihnen zugreifen können. Allerdings können wir Daten mithilfe von 'Parametern' an Funktionen übergeben.
Parameter definieren ein Format für Daten, die eine Funktion beim Aufruf oder bei der Ausführung erwartet.
In den vorherigen Kapiteln haben wir einfache Funktionen ohne Parameter betrachtet. Wir können jedoch eine Funktion mit Parametern mit folgender Syntax deklarieren:
index.go
123func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Jeder Parameter kann einen eigenen Namen gefolgt vom Datentyp besitzen. Die Parameter werden durch Kommas getrennt. Für Parameter gelten die gleichen Namenskonventionen wie für Variablen.
Das folgende Beispiel veranschaulicht die Verwendung von Funktionen mit Parametern:
index.go
12345678910111213141516171819202122package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
Im obigen Programm sind Funktionen mit einem, zwei und drei Parametern zu erkennen. Es ist grundsätzlich möglich, Funktionen mit beliebig vielen Parametern zu erstellen.
Werte können diesen Funktionen entweder direkt oder über Variablen übergeben werden. Im folgenden Beispiel wird der Zeichenkettenwert direkt an die erwartete Parameterstelle übergeben:
index.go
1outThreeTimes("Hello World")
Alternativ kann der Wert in einer Zeichenkettenvariablen gespeichert und anschließend an die Funktion übergeben werden:
index.go
12var msg string = "Hello World" outThreeTimes(msg)
In der folgenden Anweisung ist eine Kombination beider Ansätze zu erkennen:
index.go
123var a int = 4 var b int = 7 product(a, b, 9)
Sie können die Methode wählen, die am besten zu Ihren Anforderungen passt.
Hinweis
Beim Übergeben von Variablen oder Datenwerten an eine Funktion werden diese als Argumente bezeichnet. Im Fall von
product(a, b, 9)sind die Begriffea,bund9Argumente. Im Gegensatz dazu werden in der Funktionsdeklarationval1 int,val2 intundval3 intals Parameter bezeichnet.
Es ist wichtig, Daten in der Reihenfolge der definierten Parameter an Funktionen zu übergeben. Beispielsweise sollte bei einer Funktion func myFunc(an int, b string) das erste Argument ein Integer und das zweite ein String sein; jede andere Reihenfolge führt zu Fehlern.
Innerhalb der Funktion fungieren Parameter effektiv als Variablen, die die Werte der übergebenen Argumente annehmen. Daher führt die Deklaration von Variablen mit demselben Namen wie ein Funktionsparameter im Funktionsrumpf zu Fehlern.
index.go
123func myFunc(param int) { var param int = 1 // Error Here }
Danke für Ihr Feedback!