2012-09-24 25 views
55

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

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

प्रश्न के लिए धन्यवाद नहीं है, मैं सिर्फ एक ही

उत्तर

87

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

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

धन्यवाद ... मैं कोई विश्वास है, जरूरत वापसी मान KKKKK – KingRider

-5

इसकी सुंदरता यह है कि आप इसे वैसे भी लिख सकते हैं। जाओ जावा

package main 

func main() { 
    r := "derp" 
    if sumThis(1, 2) > sumThis(3, 4) { 
     r = "test" 
    } 
    println(r) 
} 
func sumThis(a, b int) int { 
    return a + b 
} 
+12

आप अपने जवाब में और व्याख्या कर सकते हैं? मुझे यकीन नहीं है कि मैं समझता हूं कि यह कुछ भी कैसे दिखाता है जो "अधिक जाने-माने" या "कम जावा जैसी" है। यह कथन उस धारणा का विरोध करने के लिए नहीं है, मैं सिर्फ उदाहरण से ही आपकी बात समझ नहीं पा रहा हूं। –

+0

एक diff पता चला कि यह जवाब फ़ंक्शन के लिए रिटर्न प्रकार के रूप में''इन' जोड़ने के लिए था। – mixdev

+1

उत्तर में एकमात्र उपयोगी चीज फ़ंक्शन में 'int' लौटा दी गई थी। – pankajdoharey

संबंधित मुद्दे