我有一种情况,我想两次使用printf
参数。
fmt.Printf("%d %d", i, i)
有没有办法告诉fmt.Printf
重复使用相同的i
?
fmt.Printf("%d %d", i)
答案 0 :(得分:44)
您可以使用[n]
表示法来指定显式参数索引,如下所示:
fmt.Printf("%[1]d %[1]d\n", i)
以下是您可以试验的完整示例:http://play.golang.org/p/Sfaai-XgzN
答案 1 :(得分:0)
另一个选项是text/template:
package main
import (
"strings"
"text/template"
)
func format(s string, v interface{}) string {
t, b := new(template.Template), new(strings.Builder)
template.Must(t.Parse(s)).Execute(b, v)
return b.String()
}
func main() {
i := 999
println(format("{{.}} {{.}}", i))
}