在Printf、Sprintf、Fprintf三個函數中,默認的行爲是對每一個格式化verb依次對應調用成功傳遞進來的參數。
如果需要顯式指定格式化那個參數,可以在格式化verb前增加[n] (n表示第n個參數,索引是從1開始) 例如( %[2]d )
如果需要指定浮點數的寬度和精度可以寫成[n]*的格式,例如([n]*f)
需要注意的是 在處理完方括號表達式[n]後,默認 後面的格式化verb 會接着處理參數n+1,n+2……
fmt.Printf("%[2]d %[1]d\n", 11, 22) //輸出 22 11
fmt.Printf("%[3]*.[2]*[1]f\n", 12.0, 2, 6) //輸出 12.00
fmt.Printf("%d %d %#[1]x %#x\n", 16, 17) //輸出 16 17 0x10 0x11