142 votes

"utilisé comme valeur" dans l'appel de fonction

Quelle est la bonne façon d'appeler les fonctions lors de l'évaluation de leurs valeurs dans les déclarations conditionnelles ?

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){
        return a+b
}

cela renvoie une erreur :

./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

Comment écrirais-tu cela en Go ?

220voto

Maciej Points 755

Vous avez oublié de déclarer une valeur de retour. Elle devrait l'être :

func sumThis(a, b int) int {
// ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X