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

}
相关推荐
秋说18 分钟前
华为 DevKit 25.2.rc1 源码迁移分析使用教程(openEuler + ARM64)
后端
ServBay20 分钟前
C# 成为 2025 年的编程语言,7个C#技巧助力开发效率
后端·c#·.net
源代码•宸23 分钟前
Leetcode—39. 组合总和【中等】
经验分享·算法·leetcode·golang·sort·slices
还债大湿兄26 分钟前
huggingface.co 下载有些要给权限的模型 小记录
开发语言·前端·javascript
bkspiderx38 分钟前
C++中的map容器:键值对的有序管理与高效检索
开发语言·c++·stl·map
Hard but lovely39 分钟前
Linux: 线程同步-- 基于条件变量 &&生产消费模型
linux·开发语言·c++
汤姆yu1 小时前
基于python大数据的协同过滤音乐推荐系统
大数据·开发语言·python
爱学习的小道长1 小时前
Python Emoji库的使用教程
开发语言·python
行百里er1 小时前
一个还没写代码的开源项目,我先来“画个饼”:Spring Insight
后端·开源·github
威哥爱编程1 小时前
2026年的IT圈,看看谁在“裸泳”,谁在“吃肉”
后端·ai编程·harmonyos