Aufrufen von Funktionen in bedingten Anweisungen
Beim Auswerten der Werte von Funktionen in bedingten Anweisungen in Go ist die richtige Art, sie aufzurufen, die Deklaration ein Rückgabewert für die Funktion. Betrachten Sie den folgenden Code:
package main import "fmt" func main() { if sumThis(1, 2) > sumThis(3, 4) { fmt.Println("test") } else { fmt.Println("derp") } } func sumThis(a, b int) { // NOTE: Missing return value return a + b }
Das Ausführen dieses Codes führt zu den folgenden Fehlern:
./test4.go:4: sumThis(1, 2) used as value ./test4.go:4: sumThis(3, 4) used as value ./test4.go:11: too many arguments to return
Das Problem tritt auf, weil der sumThis-Funktion eine Rückgabewertdeklaration fehlt. Um dies zu beheben, müssen wir den Rückgabetyp der Funktion angeben, der in diesem Fall eine Ganzzahl (int) ist:
func sumThis(a, b int) int { return a + b }
Diese Änderung deklariert den Rückgabewert der Funktion und ermöglicht die bedingte Anweisung Werten Sie die von der sumThis-Funktion zurückgegebenen Werte ordnungsgemäß aus.
Das obige ist der detaillierte Inhalt vonWie rufe ich Funktionen in den bedingten Anweisungen von Go richtig auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!