Go で res, err := http.Get(...) のようにリクエストを投げてレスポンスを受け取った場合に、res.Body を使う場合はもちろん、使わなかったとしても、必ず Close する必要がある。 Go の公式ページにも記載されている。これを行わないとリソースが開放されず、メモリリークを起こす可能性がある。 また、res.Body を使わない場合でも、読み取りを行わないと、connection が再利用されないためリクエスト時のオーバーヘッドが発生する。 なので、以下のように Close と読み取りを行う必要がある。 defer func() { io.Copy(io.Dis…