有没有使用变量索引打印的方法?如何使用索引进行打印?
fmt.Fprintf("%[1] %[2] %[3] %[4]", a, b, c, d)
我得到
字符串错误没有实现io.Writer
使用fmt.Println
打印变量指标作为文字。
有没有使用变量索引打印的方法?如何使用索引进行打印?
fmt.Fprintf("%[1] %[2] %[3] %[4]", a, b, c, d)
我得到
字符串错误没有实现io.Writer
使用fmt.Println
打印变量指标作为文字。
直接的参数指标:
在printf中,sprintf的,和fprintf,默认行为是每个 格式化动词格式化呼叫通过连续的参数。 但是,动词前面的记号[n]表示 第n个单索引参数要被格式化。在宽度或精度'*'之前使用相同的 表示法选择包含该值的参数 索引。处理括号表达式[n]后,后续动词将使用参数n + 1,n + 2等,除非另有指示 。
例如,
fmt.Sprintf("%[2]d %[1]d\n", 11, 22)
将产生 “22 11”
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
根据格式指定符fprintf中的格式和写入瓦特它 返回写入的字节数和遇到的任何写入错误。根据格式指定符
func Printf(format string, a ...interface{}) (n int, err error)
printf的格式和写入标准 输出。它返回写入的字节数和遇到的任何写入错误 。
对于Fprintf
提供一种io.Writer
或使用Printf
。另外,将格式“动词”添加到格式说明符中。例如,
package main
import (
"fmt"
"os"
)
func main() {
a, b, c, d := 1, 2, 3, 4
fmt.Fprintf(os.Stdout, "%[1]d %[2]d %[3]d %[4]d\n", a, b, c, d)
fmt.Printf("%[1]d %[2]d %[3]d %[4]d\n", a, b, c, d)
}
输出:
1 2 3 4
1 2 3 4
fmt.Fprintf有定义:
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
所以,你需要提供作家。
对于索引编制,您可以使用如下格式:"%[2]d %[1]d"