"Utilizado como valor" en la llamada de función

122

¿Cuál es la forma correcta de llamar a funciones al evaluar sus valores en declaraciones condicionales?

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
}

esto devuelve error:

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

¿Cómo escribirías esto en Go?

Saad
fuente
2
El mensaje de error sería mejor como: " llamada de función nula usada como valor" o "... usado como valor, pero no devuelve un valor ".
Brent Bradburn

Respuestas:

179

Olvidó declarar un valor de retorno. Debería ser:

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