fmt 包中的所有 Print 系列函数

📌 fmt 包中的所有 Print 系列函数

✅ 1. 基础输出(写到标准输出 stdout)

这些是最常用的:控制台输出

函数 自动换行 自动空格 支持格式化 输出位置
fmt.Print 标准输出
fmt.Println ✔️ ✔️ 标准输出
fmt.Printf ✔️ 标准输出

✅ 2. 写入 字符串(返回 string,而不是打印)

这些函数不会输出到屏幕,而是返回字符串,非常适合构造日志、模板、HTTP 响应等。

函数 自动换行 自动空格 支持格式化 返回值
fmt.Sprint string
fmt.Sprintln ✔️ ✔️ string
fmt.Sprintf ✔️ string

示例:

go 复制代码
msg := fmt.Sprintf("id=%d name=%s", 10, "Tom")

✅ 3. 写入 任意 io.Writer(文件、网络连接、缓冲区等)

这是 Print 系列中最强的一组,用于日志系统、文件写入、网络写入

函数 自动换行 自动空格 支持格式化 输出位置
fmt.Fprint io.Writer
fmt.Fprintln ✔️ ✔️ io.Writer
fmt.Fprintf ✔️ io.Writer

示例:

go 复制代码
file, _ := os.Create("log.txt")
fmt.Fprintf(file, "error: %v\n", err)

📌 全家桶总结(非常适合面试)

前缀 Print Println Printf
fmt. 输出到 stdout 输出到 stdout 格式化输出到 stdout
fmt.S 返回 string 返回 string 返回格式化 string
fmt.F 写入 io.Writer 写入 io.Writer 格式化写入 io.Writer

📌 一句话记忆法

  • Print → 屏幕

  • Sprint → 字符串

  • Fprint → 文件

  • Ln → 自动换行

  • f → 格式化

go 复制代码
func main() {
	// Println、Print、Printf 控制台
	fmt.Println("Hello, World!")
	fmt.Print("this is Print,so need add ?\n")
	fmt.Printf("this is Printf,so can %d\n", 123)

	// Sprint、Sprintf、Sprintln 字符串
	msg := fmt.Sprintf("id=%d name=%s", 10, "Tom")
	fmt.Println(msg)

	// Fprint、Fprintf、Fprintln 文件
	f, err := os.Create("out.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer f.Close()
	fmt.Fprintln(f, "file log: ", 42)s

}
相关推荐
Elias不吃糖1 小时前
Java Lambda 表达式
java·开发语言·学习
guygg881 小时前
一级倒立摆MATLAB仿真程序
开发语言·matlab
情缘晓梦.1 小时前
C语言指针进阶
java·开发语言·算法
世转神风-2 小时前
qt-字符串版本与数值版本互转
开发语言·qt
极客代码2 小时前
深入解析C语言中的函数指针:原理、规则与实践
c语言·开发语言·指针·状态机·函数·函数指针
w-w0w-w2 小时前
C++模板参数与特化全解析
开发语言·c++
不绝1912 小时前
C#核心:继承
开发语言·c#
AI即插即用3 小时前
即插即用系列(代码实践)专栏介绍
开发语言·人工智能·深度学习·计算机视觉
码农水水3 小时前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php