गो

2013-05-29 7 views
7

में फ़ंक्शन पैरामीटर प्रकार सेट करें मैं गो प्रोग्रामिंग भाषा के लिए एक पूर्ण शुरुआतकर्ता हूं, और मैं addStuff नामक गो फ़ंक्शन के पैरामीटर प्रकार को परिभाषित करने का प्रयास कर रहा हूं जो बस दो पूर्णांक जोड़ता है और उनकी राशि देता है, लेकिन मैं देखता हूं निम्न त्रुटि जब मैं समारोह को संकलित करने का प्रयास करें:गो

package main 

import "fmt" 
import "strconv" 

func addStuff(a, b){ 
    return a+b 
} 

func main() { 
    fmt.Println("Hello," + strconv.Itoa(addStuff(4,5))) 
} 

क्या मैं गलत यहाँ कर रहा हूँ, और क्या स्थापित करने के लिए सही तरीका है:

prog.go:6: undefined: a 
prog.go:6: undefined: b 
prog.go:7: undefined: a 
prog.go:7: undefined: b 
prog.go:7: too many arguments to return 
prog.go:11: addStuff(4, 5) used as value 

यहाँ कोड है कि इस संकलक त्रुटि का उत्पादन किया है जाओ में पैरामीटर के प्रकार?

+4

बतख-टाइप की गई भाषाओं की मात्रा को ध्यान में रखते हुए, यह (मेरी राय में) एक वैध प्रश्न है। – thwd

उत्तर

26
func addStuff(a int, b int) int { 
    return a+b 
} 

इस प्रकार int की a और b पैरामीटर में परिवर्तन, और समारोह एक int वापसी करनी होगी। एक विकल्प func addStuff(a, b int) int है जो a और b प्रकार int के पैरामीटर दोनों को भी बनाएगा।

मैं अत्यधिक A Tour of Go की सिफारिश करता हूं जो गो की मूल बातें सिखाता है।

+1

इसे 'func addStuff (a, b int) int' – thwd

+4

@jnml के रूप में भी लिखा जा सकता है, जिसे आप जानते हैं कि आप उत्तर संपादित करने में सक्षम हैं, है ना? (साथ ही, कोड उदाहरण से परे पढ़ना उपयोगी हो सकता है।) –

+0

मैं आपके उत्तर को केवल टाइपो को ठीक करने के लिए संपादित करूंगा या फिर, अपना विचार कभी नहीं बदलूंगा। और हां, मैंने अपनी पिछली टिप्पणी लिखने से पहले अपना जवाब पूरी तरह से पढ़ा। आप 'idiomatic code' के साथ 'वैकल्पिक' भ्रमित कर रहे हैं। -112 ऑफसेट करने के लिए – zzzz

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