我有一個可變的整數數組,我想將其格式化為字符串。當我傳遞數組時,它被放入第一個格式動詞中,其余的被列為缺失。例如,我傳遞[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 關注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消