2012-10-03 13 views
88
func NewKey(c appengine.Context, kind, stringID string, intID int64, parent *Key) *Key 

प्रलेखन कहते हैं:स्ट्रिंग के लिए शून्य क्या है?

NewKey एक नई कुंजी बनाता है। दयालु खाली नहीं हो सकता है। या तो स्ट्रिंग आईडी और intID शून्य होना चाहिए। यदि दोनों शून्य हैं, तो कुंजी लौटा अधूरा है। माता-पिता या तो एक पूर्ण कुंजी या शून्य होना चाहिए।

स्ट्रिंग के लिए शून्य क्या है?

मैं 0 और nil की कोशिश की, और मैं की तरह त्रुटियों मिला:

cannot use nil as type string in function argument 

उत्तर

158

कि "" है:

var s string 
fmt.Println(s=="") // prints "true" 

एक स्ट्रिंग नहीं के बराबर नहीं हो सकता है (लेकिन एक *string सकते हैं)।

आप बस

if stringId=="" { 

stringID में एक शून्य स्ट्रिंग पास करने के लिए परीक्षण कर सकते हैं, का उपयोग

k := NewKey(c, "kind", "", 0, p) 

the specification से:

जब स्मृति या तो एक मूल्य के स्टोर करने के लिए, आवंटित किया जाता है घोषणा या बनाने या नए के कॉल के माध्यम से, और कोई विस्तार नहीं लाइसेंस प्रारंभिक प्रदान किया गया है, स्मृति को एक डिफ़ॉल्ट प्रारंभिकरण दिया जाता है। प्रत्येक इस तरह के मान के तत्व को शून्य प्रकार पर सेट किया गया है: बूलियन के लिए, पूर्णांक के लिए 0, फ्लोट्स के लिए 0.0, तारों के लिए, और अंक पॉइंटर्स, फ़ंक्शंस, इंटरफेस, स्लाइस, चैनलों के लिए , और नक्शे।

+0

आपका सही dystroy, बात के काम-काज का उपयोग कर सकते हैं। – DeanSinaean

+1

@DeanSinaean इसे उत्तर के रूप में चिह्नित किया जाना चाहिए – dmportella

4
var str string 
fmt.Println(str == "") 

अपनी स्क्रिप्ट में ऊपर रखा, और इसे चलाने के चलते हैं।

आप सच प्राप्त कर सकते हैं, गोलांग का स्ट्रिंग डिफ़ॉल्ट मान "" है।

0
इस मामले रिक्त स्ट्रिंग में

, या आप NewIncompleteKey()

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