1.fmt.Fprintf
- 定义:
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
- 用途:将格式化的数据写入到指定的
io.Writer
(如文件、标准输出os.Stdout
等)。 - 特点:
- 第一个参数是一个实现了
io.Writer
接口的对象。 - 支持格式化字符串,类似于 C 语言中的
fprintf
函数。 - 返回两个值:写入的字节数和可能发生的错误。
-
file, _ := os.Create("output.txt") defer file.Close() fmt.Fprintf(file, "输出格式:%s", "World") // 将内容写入到文件
- 第一个参数是一个实现了
2. fmt.Println
- 定义:
func Println(a ...interface{}) (n int, err error)
- 用途:以默认格式打印参数,并自动在末尾添加换行符。
- 特点:
- 输出直接发送到标准输出(
os.Stdout
)。 - 参数之间会自动加上空格分隔。
- 自动添加换行符。
- 返回写入的字节数和可能发生的错误。
-
fmt.Println("Hello", "World") // 输出: Hello World\n
- 输出直接发送到标准输出(
3. fmt.Printf
- 定义:
func Printf(format string, a ...interface{}) (n int, err error)
- 用途:根据提供的格式化字符串格式化并打印数据到标准输出(
os.Stdout
)。 - 特点:
- 类似于 C 语言中的
printf
函数。 - 允许通过格式化字符串控制输出的格式。
- 不自动添加换行符,如果需要换行,可以在格式化字符串中加入
\n
。 - 返回写入的字节数和可能发生的错误。
-
fmt.Printf("输出: %s\n", "World") // 输出:World\n
- 类似于 C 语言中的
3. 总结
选择哪个函数取决于你的具体需求。如果你需要将输出重定向到文件或其他 I/O 流,那么 Fprintf
是合适的选择;如果你只是简单地打印一些信息并且不需要复杂的格式化,Println
可能是最简单的选择;而当你需要对输出进行精确控制时,则应使用 Printf
。