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

}
相关推荐
紧跟先前的步伐2 小时前
Go AI Agent 实战 24|工具系统工程化收尾与阶段验收
人工智能·ai·golang·1024程序员节
学长毕设3 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
C^h3 小时前
c++ string
开发语言·c++
raindayinrain3 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的3 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao3 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
日日大王学编程4 小时前
#Feed 流项目复盘:Redis 时间线缓存与 Outbox 消息可靠性设计
golang·1024程序员节
学逆向的4 小时前
C 局部静态变量
c语言·开发语言·网络安全
大都督会赢的4 小时前
C++第一节课
开发语言·c++
“AI国潮设计-小江”5 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc