err := errors.New("one error")
if err := errors.New("two error"); true {
fmt.Println("error № ", err.Error())
}
if err = errors.New("three error"); true {
fmt.Println("error № ", err.Error())
}
}
почему этот код не вызывает ошибки?
если err определена то двоеточие лишнее,
если в рамках if локальное определение то во втором if нет двоеточия
Почему не вызывает? Он два раза напечатает ошибку two и three
я об этом a := 10 a := 20 если переменная определена, и мы её снова определяем двоеточием - то будет ошибка "... no new variables on left side of :="
If - это же вложенный скоуп, будет shadowing
Обсуждают сегодня