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


133
func NewKey(c appengine.Context, kind, stringID string, intID int64, parent *Key) *Key

प्रलेखन कहता है:

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

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

मैंने कोशिश की 0और nil, और मुझे त्रुटियाँ मिलीं जैसे:

cannot use nil as type string in function argument

जवाबों:


226

वह "":

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

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

आप बस परीक्षण कर सकते हैं

if stringId=="" {

में एक शून्य स्ट्रिंग पास करने के लिए stringID, का उपयोग करें

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

से विनिर्देश :

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


शून्य मान स्ट्रिंग और * स्ट्रिंग के लिए एक सरल परीक्षण: var s string; fmt.Println (s == "", * नया (* स्ट्रिंग) == नील)
टॉम जे

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