Использование New и As в обработке ошибок в Golang отличается следующим образом:
- Функция New создаёт ошибку, принимая в качестве параметра текстовое сообщение. tproger.ru golang-blog.blogspot.com Каждый вызов New возвращает отдельное значение ошибки, даже если текст идентичен. golang-blog.blogspot.com
- Функция As проверяет, относится ли ошибка к конкретному типу. tproger.ru habr.com Она находит первую ошибку в цепочке, которая соответствует указанному типу, и если находит, то устанавливает второй аргумент равным этому значению ошибки и возвращает true. golang-blog.blogspot.com В противном случае возвращается false. golang-blog.blogspot.com
Таким образом, New создаёт ошибки, а As проверяет, относится ли ошибка к определённому типу, упрощая работу с упакованными ошибками, позволяя проверить каждую из них за один вызов. tproger.ru