go - 我想格式化一个整数数组。如何发送数组以便每个动词接收数组的不同元素?
问题描述
我有一个可变的整数数组,我想将其格式化为字符串。当我传递数组时,它被放入第一个格式动词中,其余的被列为缺失。例如,我通过 [10, 100, 250, 99] 和“%02d-%04d-%04d-%02d”的格式。我希望它返回“10-0100-0250-99”。这样做的正确方法是什么?
package main
include (
"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(MISSING)-%!d(MISSING)-%!d(MISSING)(错误)10-0100-0250-99(正确)
解决方案
您要么需要单独传入元素:
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...)
推荐阅读
- javascript - 带有 onclick 动画的多个按钮 - 某些按钮未完成 setTimeout
- powerbi - PowerBI - 使用映射到单独表中 ID 的固定和可变计算的组合聚合多行
- python - 浮点除法与整数除法给出不同的答案
- javascript - 斐波那契数列 - 从 JavaScript 中的特定 # 开始
- javascript - 如何使用 NodeJS 删除 dynamoDb 中的嵌套项
- c - 在函数递归内传递双指针
- ios - 将 Sprite 添加到导致 EXC_BAD_ACCESS 的场景
- spring - application.properties spring boot 值注入
- python - 在尝试中返回相同的迭代,除了
- wordpress - 如何使我的下拉菜单链接可点击?