関数呼び出しで「値として使用」


122

条件ステートメントで関数の値を評価するときに関数を呼び出す適切な方法は何ですか?

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
}

これはエラーを返します:

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

これをGoでどのように書きますか?


2
エラーメッセージは、「値として使用されるvoid関数呼び出し」または「...値として使用されますが、値を返しません」のようになります。
ブレントブラッドバーン

回答:


179

戻り値を宣言するのを忘れました。そのはず:

func sumThis(a, b int) int {
// ...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.