Appel de fonctions dans des instructions conditionnelles
Lors de l'évaluation des valeurs de fonctions dans des instructions conditionnelles dans Go, la bonne façon de les appeler est de déclarer une valeur de retour pour la fonction. Considérez le code suivant :
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 }
L'exécution de ce code entraînera les erreurs suivantes :
./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
Le problème se pose car la fonction sumThis n'a pas de déclaration de valeur de retour. Pour résoudre ce problème, nous devons spécifier le type de retour de la fonction, qui dans ce cas est un entier (int) :
func sumThis(a, b int) int { return a + b }
Cette modification déclare la valeur de retour de la fonction, permettant à l'instruction conditionnelle de évaluer correctement les valeurs renvoyées par la fonction sumThis.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!