फ़ंक्शन कॉल में "मूल्य के रूप में उपयोग किया जाता है"


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

आप इसे गो में कैसे लिखेंगे?


2
त्रुटि संदेश इस रूप में बेहतर होगा: " शून्य फ़ंक्शन कॉल मान के रूप में उपयोग किया जाता है" या "... मान के रूप में उपयोग किया जाता है, लेकिन मान वापस नहीं करता है "।
ब्रेंट बर्नबर्न

जवाबों:


179

आप रिटर्न वैल्यू घोषित करना भूल गए हैं। यह होना चाहिए:

func sumThis(a, b int) int {
// ...
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.