我有一个可变的整数数组,我想将其格式化为字符串。当我传递数组时,它被放入第一个格式动词中,其余的被列为缺失。例如,我传递[10, 100, 250, 99],格式为“%02d-%04d-%04d-%02d”。我希望它返回“10-0100-0250-99”。在 go 中执行此操作的正确方法是什么?package maininclude ( "fmt")func main() { nums := []int{10,100,250,99} format := "%02d-%04d-%04d-%02d\n" fmt.Printf(format, 10, 100, 250, 99) fmt.Printf(format, nums)}[10 100 250 99]-%!d(缺失)-%!d(缺失)-%!d(缺失)(错误)10-0100-0250-99(正确)
1 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
您需要单独传入元素:
nums := []int{10,100,250,99}
format := "%02d-%04d-%04d-%02d\n"
fmt.Printf(format, nums[0], nums[1], nums[2], nums[3])
或者使用参数的正确类型fmt.Printf,即[]interface{}:
nums := []interface{}{10,100,250,99}
format := "%02d-%04d-%04d-%02d\n"
fmt.Printf(format, nums...)
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报
0/150
提交
取消