首页 > 后端开发 > Golang > 正文

如何使用与 error.New 兼容的 fmt.Sprintf 语法?

Barbara Streisand
发布: 2024-11-05 06:00:03
原创
848 人浏览过

How can I use fmt.Sprintf-compatible syntax with errors.New?

使用 fmt.Sprintf 兼容语法的格式化错误

提供错误版本。新接受 fmt.Sprintf 类似参数,自定义函数可以定义如下:

<code class="go">func NewError(format string, a ...interface{}) error {
    return errors.New(fmt.Sprintf(format, a))
}</code>
登录后复制

但是,此实现遇到一个问题,即可变参数 a 被视为单个数组参数,从而导致格式问题。

要解决为此,有必要确保 a 被解释为可变数量的参数。这可以通过利用三点符号来实现...,确保 fmt.Sprintf 知道 a 参数的可变参数性质:

<code class="go">func NewError(format string, a ...interface{}) error {
    return errors.New(fmt.Sprintf(format, a...))
}</code>
登录后复制

通过将三点添加到 a 参数,自定义 NewError 函数现在可以使用 fmt.Sprintf 兼容语法正确格式化错误消息。

以上是如何使用与 error.New 兼容的 fmt.Sprintf 语法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板