यदि Go में response.Body को बंद नहीं किया जाए तो क्या होगा? मेमोरी लीक और अन्य समस्याएं
सभी को नमस्ते! मैंने अभी-अभी Go सीखना शुरू किया है और API से डेटा प्राप्त करने के लिए एक सरल HTTP क्लाइंट लिख रहा हूँ। मेरे पास यह कोड है:\n\n```go\nresp, err := http.Get("https://api.example.com/data")\nif err != nil {\n log.Fatal(err)\n}\n// मैं resp.Body को बंद नहीं कर रहा हूँ\ndata, _ := io.ReadAll(resp.Body)\nfmt.Println(string(data))\n```\n\nसब कुछ काम कर रहा है, डेटा आ रहा है। लेकिन मैंने देखा कि Stack Overflow और Go दस्तावेज़ीकरण में कई उदाहरणों में `defer resp.Body.Close()` लिखा होता है। सच कहूँ तो, मुझे समझ नहीं आता कि इसकी आवश्यकता क्यों है, अगर प्रोग्राम डेटा पढ़ने के तुरंत बाद समाप्त हो जाता है? यदि मैं `response.Body` को बंद करना भूल जाऊँ तो क्या बुरा हो सकता है? मेमोरी लीक? प्रोग्राम की धीमी गति? या छोटी स्क्रिप्ट के लिए यह बिल्कुल भी महत्वपूर्ण नहीं है? कृपया सरल शब्दों में समझाएँ कि अंदर क्या हो रहा है। पहले से धन्यवाद!