English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In der Programmiersprache Go ist es gestattet, mit dem return-Ausdruck aus einerFunktiongibt mehrere Werte zurück. Mit anderen Worten, in der Funktion kann ein einzelnes return-Statement mehrere Werte zurückgeben. Der Typ der Rückgabewerte ist ähnlich dem Typ der in der Parameterliste definierten Parameter.
Syntax:
func function_name(parameter_list)(return_type_list){ // code... }
hier,
function_name:istFunktionName.
parameter-list:enthält die Namen und Typen der Funktionseingaben.
return_type_list:optional, es enthält die Typen der Werte, die die Funktion zurückgibt. Wenn return_type verwendet wird, muss im Funktionsskript ein return-Statement verwendet werden.
package main import "fmt" // myfunc gibt zurück3Werte vom Typ int func myfunc(p, q int) (int, int, int) { return p - q, p * q, p + q } func main() { //den Rückgabewert zuweisen, drei verschiedene Variablen var myvar1, myvar2, myvar3 = myfunc(4, 2) // zeige Wert fmt.Printf("Ergebnis: %d", myvar)1) fmt.Printf("\nErgebnis: %d", myvar)2) fmt.Printf("\nErgebnis: %d", myvar)3) }
Ausgabe:
Ergebnis: 2 Ergebnis: 8 Ergebnis: 6
In Go ist es erlaubt, Namen für Rückgabewerte bereitzustellen. Sie können diese Variablen auch im Code verwenden. Es ist nicht erforderlich, diese Namen mit einem return-Statement zu schreiben, da der Go-Compiler automatisch versteht, dass diese Variablen zurückgegeben werden müssen. Dieser Typ der Rückgabe wird als nackte Rückgabe bezeichnet. Einfache Rückgaben reduzieren die Wiederholungen im Programm.
Syntax:
func function_name(para1, para2 int)(name1 int, name2 int){ // code... } oder func function_name(para1, para2 int)(name1, name2 int){ // code... }
hier,name1undname2sind die Namen der Rückgabewerte, während para1und para2sind die Parameter des Funktionsaufrufs.
package main import "fmt" // myfunc gibt zurück2Werte vom Typ int //hier sind die Namen der Rückgabewerte //sind rectangle und square func myfunc(p, q int) (rectangle int, square int) { rectangle = p * q square = p * p return } func main() { //den Rückgabewert zuweisen //zwei verschiedene Variablen var area1, area2 = myfunc(2, 4) fmt.Printf("Der Flächeninhalt des Rechtecks beträgt: %d", area)1) fmt.Printf("\nDer Quadratfläche beträgt: %d", area)2) }
Ausgabe:
Rechteckfläche: 8 Quadratfläche: 4