fmt包是Go文本格式化核心工具,Printf输出到标准输出,Sprintf返回字符串,二者共享动词与修饰符;需按类型选%d、%s、%v等动词,用宽度精度控制对齐与截断,注意参数匹配防panic。
Go 的 fmt 包是处理文本格式化最常用、最可靠的工具,其中 fmt.Printf 直接输出到标准输出,fmt.Sprintf 则返回格式化后的字符串——两者共享同一套动词(verbs)和修饰符,掌握它们能让你的输出更清晰、调试更高效、日志更规范。
Go 不自动推断类型,必须显式指定格式动词,常见且实用的有:
%v:默认值格式,适合通用打印(如 fmt.Printf("user: %v", user))%+v:结构体字段名+值(struct{ Name string }{Name: "Alice"} → {Name:"Alice"})%#v:Go 语法风格输出,可直接用于调试或生成代码(map[string]int{"a":1} → map[string]int{"a":1})
%d、%x、%o:分别对应十进制、十六进制(小写)、八进制整数%s:字符串;%q:带双引号的转义字符串("hello\n" → "hello\\n")%t:布尔值,输出 true 或 false
在动词前加修饰符,能精细控制格式,比如:
%5s:字符串至少占 5 字符宽,右对齐(不足补空格)%-5s:左对齐%05d:数字不足 5 位时,左边补 0(42 → 00042)%.2f:浮点数保留 2 位小数(3.14159 → 3.14)%8.2f:总宽 8,含小数点和两位小数,右对齐注意:精度对字符串表示最大长度(%.3s 截取前 3 字符),对数字才表示小数位数。
两者参数完全一致,区别只在“去哪”:
fmt.Printf("name: %s, age: %d", "Tom", 28) → 直接打印到终端s := fmt.Sprintf("name: %s, age: %d", "Tom", 28) → 得到字符串 "name: Tom, age: 28",可用于拼接、日志记录、HTTP 响应等常见误用:想构造字符串却用了 Printf 导致内容直接刷屏;或者该立刻输出调试信息时,却用 Sprintf 再手动 fmt.Println ——多此一举。
格式动词数量必须匹配参数个数,否则会 panic:
fmt.Printf("id=%d, name=%s", 123, "Lee")
fmt.Printf("id=%d, name=%s", 123) → panic: missing argument for verb s
fmt.Printf("id=%d", 123, "Lee") → 多余参数被忽略(但会触发 vet 警告)建议开启 go vet 检查(现代 IDE 通常默认集成),它能提前发现这类格式错误。
基本上就这些。fmt 的能力不复杂但容易忽略细节,熟练后写日志、生成配置、做 CLI 提示都更得心应手。
# go
# golang
# 工具
# 区别
# 格式化输出
# String
# for
# printf
# 字符串
# 结构体
# int
# Struct
# map
# ide
# http
# 修饰符
# 右对齐
# 两位
# 用了
# 这类
# 能让
# 只在
# 得心应手
# 可直接
# 它能
相关文章:
建站之星好吗?新手能否轻松上手建站?
如何规划企业建站流程的关键步骤?
如何选择可靠的免备案建站服务器?
如何选择CMS系统实现快速建站与SEO优化?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何在IIS中新建站点并配置端口与物理路径?
如何快速完成中国万网建站详细流程?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
如何在自有机房高效搭建专业网站?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
智能起名网站制作软件有哪些,制作logo的软件?
ppt制作免费网站有哪些,ppt模板免费下载网站?
定制建站流程解析:需求评估与SEO优化功能开发指南
如何选择高效稳定的ISP建站解决方案?
测试制作网站有哪些,测试性取向的权威测试或者网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
相册网站制作软件,图片上的网址怎么复制?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
网站制作新手教程,新手建设一个网站需要注意些什么?
h5在线制作网站电脑版下载,h5网页制作软件?
,sp开头的版面叫什么?
中山网站制作网页,中山新生登记系统登记流程?
如何制作一个表白网站视频,关于勇敢表白的小标题?
Python文件管理规范_工程实践说明【指导】
如何在搬瓦工VPS快速搭建网站?
建站之星免费版是否永久可用?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
韩国服务器如何优化跨境访问实现高效连接?
大连网站制作公司哪家好一点,大连买房网站哪个好?
三星网站视频制作教程下载,三星w23网页如何全屏?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
动图在线制作网站有哪些,滑动动图图集怎么做?
Android使用GridView实现日历的简单功能
教学网站制作软件,学习*后期制作的网站有哪些?
如何在企业微信快速生成手机电脑官网?
高性价比服务器租赁——企业级配置与24小时运维服务
一键网站制作软件,义乌购一件代发流程?
PHP正则匹配日期和时间(时间戳转换)的实例代码
学校免费自助建站系统:智能生成+拖拽设计+多端适配
建站之星后台管理如何实现高效配置?
如何在万网ECS上快速搭建专属网站?
如何续费美橙建站之星域名及服务?
,有什么在线背英语单词效率比较高的网站?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
Python如何创建带属性的XML节点
建站之星如何优化SEO以实现高效排名?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
广州商城建站系统开发成本与周期如何控制?
*请认真填写需求信息,我们会在24小时内与您取得联系。