Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 我想格式化一个整数数组。如何发送数组,以便每个谓词接收数组的不同元素?_Go - Fatal编程技术网

Go 我想格式化一个整数数组。如何发送数组,以便每个谓词接收数组的不同元素?

Go 我想格式化一个整数数组。如何发送数组,以便每个谓词接收数组的不同元素?,go,Go,我有一个整数的可变数组,我想将其格式化为字符串。当我传递数组时,它被放入第一个格式动词,其余的列为缺失。例如,我通过了[10100125099]和%02d-%04d-%04d-%02d的格式。我要它退回10-0100-0250-99。在围棋中正确的方法是什么 包干管 包括 fmt func main{ nums:=[]整数{10100250,99} 格式:=%02d-%04d-%04d-%02d\n 格式打印格式,1010025099 格式打印格式,nums } [10 100 250 99]%

我有一个整数的可变数组,我想将其格式化为字符串。当我传递数组时,它被放入第一个格式动词,其余的列为缺失。例如,我通过了[10100125099]和%02d-%04d-%04d-%02d的格式。我要它退回10-0100-0250-99。在围棋中正确的方法是什么

包干管 包括 fmt func main{ nums:=[]整数{10100250,99} 格式:=%02d-%04d-%04d-%02d\n 格式打印格式,1010025099 格式打印格式,nums } [10 100 250 99]%!dMISSING-%!dMISSING-%!承认错误
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参数使用正确的类型,即[]接口{}:


第一个选项是有效的,但是,我并不总是有4个元素。使用[]接口{}的第二个选项产生相同的错误结果。在找到长期结果之前,我可以对数组的长度使用switch语句。它应该始终在4到8个元素之间,直到我硬编码为止。@MichaelLewis:我不确定你的意思,它们产生相同的结果。当然,您必须切换长度以匹配格式字符串。
nums := []interface{}{10,100,250,99}
format := "%02d-%04d-%04d-%02d\n"
fmt.Printf(format, nums...)