ใน Go ฉันได้รับคำตอบจาก http และบางครั้งฉันลืมโทร:
resp.Body.Close()
จะเกิดอะไรขึ้นในกรณีนี้? จะมีการรั่วไหลของหน่วยความจำหรือไม่ นอกจากนี้ยังปลอดภัยที่จะใส่defer resp.Body.Close()
ทันทีหลังจากได้รับวัตถุตอบสนองหรือไม่?
client := http.DefaultClient
resp, err := client.Do(req)
defer resp.Body.Close()
if err != nil {
return nil, err
}
จะเกิดอะไรขึ้นหากมีข้อผิดพลาดอาจเป็นresp
หรือresp.Body
ไม่มี