Avatar ·

Go में nil की जाँच कैसे करें: इंटरफ़ेस, स्ट्रक्चर और पॉइंटर्स

नमस्ते साथियों! मैं एक शुरुआती Go डेवलपर हूँ और nil की जाँच करते समय एक बहुत ही अजीब समस्या का सामना करना पड़ा। मेरे पास एक फंक्शन है जो error इंटरफ़ेस रिटर्न करता है, और मैं यह जाँचने की कोशिश कर रहा हूँ कि कोई एरर हुई है या नहीं। लेकिन मेरा कोड अप्रत्याशित व्यवहार कर रहा है। यहाँ एक सरल उदाहरण है: ```go type MyError struct { Code int Msg string } func (e *MyError) Error() string { return fmt.Sprintf("error %d: %s", e.Code, e.Msg) } func doSomething() error { var err *MyError = nil // ... कुछ लॉजिक, लेकिन err nil ही रहता है return err } func main() { err := doSomething() if err != nil { fmt.Println("एरर है:", err) } else { fmt.Println("कोई एरर नहीं") } } ``` मैं उम्मीद करता हूँ कि प्रोग्राम "कोई एरर नहीं" प्रिंट करेगा, क्योंकि मैं nil रिटर्न कर रहा हूँ