首页 > 后端开发 > Golang > 如何使用参数索引在 Go 的 fmt.Sprintf 中重复变量?

如何使用参数索引在 Go 的 fmt.Sprintf 中重复变量?

Patricia Arquette
发布: 2024-12-30 10:59:18
原创
867 人浏览过

How Can I Repeat a Variable in Go's fmt.Sprintf Using Argument Indexes?

利用显式参数索引在 Sprintf 中复制变量

在传统的 fmt.Sprintf() 用法中,变量被顺序替换到格式化字符串中。然而,在整个字符串中复制单个变量是可行的。

解决方案

利用显式参数索引,可以修改格式字符串以引用多个相同的参数times:

val := "foo"
s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
登录后复制

格式动词之前的 %[n] 表示法指定要使用的参数的索引。在本例中,%[1] 表示第一个参数 (val) 应用于占位符的所有实例。

输出

执行修改后的 Sprintf:

fmt.Println(s)
登录后复制

产生:

foo in foo is foo
登录后复制

实际上,字符串中的每个变量占位符都是替换为 val 的值,得到所需的复制。

简化形式

对于第一个参数应一致使用的特定场景,可以省略 %[1] 索引:

fmt.Sprintf("%v in %[1]v is %[1]v", "foo")
登录后复制

此缩写语法简化了格式化字符串,同时仍实现相同的复制功能。

以上是如何使用参数索引在 Go 的 fmt.Sprintf 中重复变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

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