Вопрос: Как работает shadowing переменных и почему `:=` может быть опасен?

Python Middle Без компании
Вопрос: Как работает shadowing переменных и почему `:=` может быть опасен?
Ответы
```go err := do() if err != nil { return } if err := do2(); err != nil { // новый err (shadowing) return } // тут снова внешний err ``` **Как это работает:** внутренний `err` скрывает внешний в новом scope. Это может приводить к ошибкам; `go vet` помогает их находить.