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 लौटा रहा हूँ।