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

如何正确格式化 Go 中变量参数的错误?

Patricia Arquette
发布: 2024-11-06 03:39:02
原创
790 人浏览过

How to Correctly Format Errors with Variable Arguments in Go?

格式化错误:错误的替代方案。带有变量参数的新功能

为了增强错误处理,用户可能会寻求创建错误的自定义版本。新接受多个参数的函数,模仿 fmt.Sprintf 的行为。尽管已经做出了尝试,但在正确解释自定义函数中的变量参数方面仍存在挑战。本文探讨了该解决方案,并提供了有关实现强大的错误格式化机制的指导。

其中一种尝试涉及定义一个函数,如下所示:

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

但是,当尝试将变量参数传递给 fmt.Sprintf,导致参数被视为单个数组。要解决此问题,必须在自定义函数中的变量参数 (a) 之后使用 ... 运算符,如下面更正的代码所示:

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

通过使用 ...运算符 fmt.Sprintf 可以正确解释变量参数并相应地格式化字符串。这允许用户创建自定义错误格式化函数,利用 fmt.Sprintf 强大的格式化功能。

以上是如何正确格式化 Go 中变量参数的错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!