English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang Grundtutorials

Golang Kontrollanweisungen

Golang Funktion & Methode

Golang Struktur

Golang Slice & Array

Golang Zeichenkette (String)

Golang Zeiger

Golang Schnittstelle

Golang Parallelität

Golang Ausnahme (Error)

Golang andere Artikel

Go-Funktion mehrere Werte zurückzugeben

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

Namen für Rückgabewerte vergeben

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