Чтобы реализовать версию ошибок.Новая версия, которая принимает те же параметры, что и fmt.Sprintf
func NewError(format string, a ...interface{}) error { return errors.New(fmt.Sprintf(format, a)) }
func NewError(строка формата, ...интерфейс{}) ошибка { возвращать ошибки.New(fmt.Sprintf(format, a)) }
Однако эта функция работает неправильно, поскольку переменное количество аргументов в a становится одним параметром массива в NewError, в результате чего Sprintf заполняет только один параметр в строке формата.
func NewError(format string, a ...interface{}) error { return errors.New(fmt.Sprintf(format, a...)) }
func NewError(строка формата, a ...interface{}) ошибка { возвращать ошибки.New(fmt.Sprintf(format, a...)) }
Это позволяет fmt.Sprintf интерпретировать a как переменное количество аргументов.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3