возвращающие error.
Foo() error
Boo() error
Могу ли я обрабатывать ошибки так:
err := Foo()
if err != nil {doSomething}
err := Boo()
if err != nil {doSomething}
Вопрос состоит в том, что мы объявляем переменную err два раза с помощью оператора :=. Нет ли в этом способе подводных камней?
А вы так не сможете сделать
Этот код компилируется https://play.golang.org/p/NyT7w6ALgvp
Подводных камней нет
подводный комень состоит лишь в том, чтобы в этом действии(при объявлении моржовым оператором) была хотя бы одна новая переменная(не объявленная ранее). иначе не скомпилируется.
В качестве второй переменной, заново объявить ее можно, но в качестве первой, нет var err error n, err := ✅ err := ❌
https://play.golang.org/p/sKqbKJ3M1pQ
Обсуждают сегодня