2013-10-20 3 views
12

मुझे इस संरचना में स्लाइस प्रकार जोड़ने की आवश्यकता है।जाओ, गोलांग: सरणी प्रकार के अंदर संरचना, गायब प्रकार समग्र अक्षर

type Example struct { 
    text []string 
} 

func main() { 
    var arr = []Example { 
     {{"a", "b", "c"}}, 
    } 
    fmt.Println(arr)  
} 

तो मैं तो समग्र शाब्दिक

var arr = []Example { 
     {Example{"a", "b", "c"}}, 

निर्दिष्ट

prog.go:11: missing type in composite literal 
    [process exited with non-zero status] 

हो रही है लेकिन फिर भी यह त्रुटि मिलती:

cannot use "a" (type string) as type []string in field value 

http://play.golang.org/p/XKv1uhgUId

मैं इसे कैसे ठीक करूं? मैं उस स्ट्रक्चर का निर्माण कैसे करूं जिसमें सरणी (टुकड़ा) प्रकार हो?

[]Example{ 
    Example{ 
    []string{"a", "b", "c"}, 
    }, 
} 

मुझे इसके बारे में बताएं:

उत्तर

34

यहाँ Example struct के अपने उचित टुकड़ा है। आप Example का टुकड़ा बनाना चाहते हैं। तो यहां यह है - []Example{}। फिर इसे Example - Example{} के साथ पॉप्युलेट किया जाना चाहिए। बदले में Example[]string - []string{"a", "b", "c"} शामिल हैं। यह सिर्फ उचित वाक्यविन्यास का मामला है।

उम्मीद है कि मदद करता है।

+0

http://play.golang.org/p/jFBqfgoR6h –

+0

इसके बारे में कैसे? इसमें अधिक मूल्य हैं और किसी अन्य कारण से काम नहीं कर रहे हैं। –

+2

पता नहीं लगा सकता है यदि आप अपने क्षेत्र को शाब्दिक नोटेशन में नाम नहीं देते हैं, तो आपको सभी फ़ील्ड के लिए एक मूल्य प्रदान करना होगा, अन्यथा फ़ील्ड का नाम दें। http://golang.org/ref/spec#Composite_literals। आपके आधार पर कार्य उदाहरण: http://play.golang.org/p/13OSJHd5xe – mna

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