为了账号安全,请及时绑定邮箱和手机立即绑定

如何格式化包含动态数量元素的字符串?

如何格式化包含动态数量元素的字符串?

Go
莫回无 2023-08-07 15:13:17
我正在尝试根据从调用它的函数接收到的元素来格式化字符串。元素的数量可以从一个到多个不等。有没有办法用可变数量的元素调用 fmt.Sprintf 。大致如下:receivedElements := []interface{}{"some","values"}formattedString := fmt.Sprintf("Received elements: ...%s", receivedElements...)Output: Received elements: some values
查看完整描述

1 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

您可以像这样使用https://golang.org/pkg/strings/#Repeat :


args := []interface{}{"some", "values"}

fmt.Println(fmt.Sprintf("values: " + strings.Repeat("%s ", len(args)), args...))

https://play.golang.org/p/75J6i2fSCaM


或者,如果您不想在行中留有最后一个空格,您可以创建切片%s,然后使用https://golang.org/pkg/strings/#Join


args := []interface{}{"some", "values"}

ph := make([]string, len(args))

for i, _ := range args {

    ph[i] = "%s"

}

fmt.Println(fmt.Sprintf("values: " + strings.Join(ph, ", "), args...))

https://play.golang.org/p/QNZT-i9Rrgn


查看完整回答
反对 回复 2023-08-07
  • 1 回答
  • 0 关注
  • 59 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信