Вопрос: Как использовать `defer` для гарантированного освобождения ресурсов?
Go
Senior
Без компании
Вопрос: Как использовать `defer` для гарантированного освобождения ресурсов?
Ответы
```go
f, err := os.Open("file.txt")
if err != nil { return }
defer f.Close()
b, _ := io.ReadAll(f)
_ = b
```
**Как это работает:** `defer` выполняется при выходе из функции (в т.ч. при панике), поэтому его используют для `Close()`.