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

}
相关推荐
2401_8384725121 小时前
C++模拟器开发实践
开发语言·c++·算法
初九之潜龙勿用21 小时前
C# 操作Word模拟解析HTML标记之背景色
开发语言·c#·word·.net·office
froginwe1121 小时前
MySQL UNION 操作详解
开发语言
ruxshui21 小时前
Python多线程环境下连接对象的线程安全管理规范
开发语言·数据库·python·sql
雨季66621 小时前
Flutter 三端应用实战:OpenHarmony 简易点击计数器与循环颜色反馈器开发指南
开发语言·flutter·ui·ecmascript·dart
望眼欲穿的程序猿21 小时前
Ai8051U+DHT11温湿度!
java·开发语言
xcs1940521 小时前
前端 项目构建问题 \node_modules\loader-runner\lib\loadLoader.js
开发语言·前端·javascript
一人の梅雨21 小时前
VVIC图片搜索接口进阶实战:服装批发场景下的精准识图与批量调度方案
开发语言·机器学习·php
s1hiyu21 小时前
实时控制系统验证
开发语言·c++·算法
AC赳赳老秦21 小时前
科研数据叙事:DeepSeek将实验数据转化为故事化分析框架
开发语言·人工智能·数据分析·r语言·时序数据库·big data·deepseek