新闻中心

如何在Golang中使用fmt输出格式化内容_Golang fmt格式化输出方法汇总

2025-10-30
浏览次数:
返回列表
fmt包是Go语言中用于格式化输入输出的核心工具,提供Print、Println、Printf、Sprintf和Fprintf等函数,支持多种格式化动词如%v、%d、%s等,可精确控制输出样式。通过宽度、精度和对齐设置(如%8s、%.2f),能优化输出格式;实现Stringer接口的String方法可自定义类型输出。熟练掌握fmt包可提升代码可读性和开发效率。

如何在golang中使用fmt输出格式化内容_golang fmt格式化输出方法汇总

在Golang中,fmt 包是处理格式化输入输出的核心工具。无论是打印日志、调试变量,还是生成结构化文本,fmt 都提供了丰富且高效的方法。掌握其格式化输出技巧,能显著提升开发效率和代码可读性。

基本输出函数

fmt 提供了多个用于输出的函数,常用如下:

  • fmt.Print:直接输出内容,不换行,字段间加空格
  • fmt.Println:输出后自动换行,适合快速调试
  • fmt.Printf:支持格式化字符串,精确控制输出样式
  • fmt.Sprintf:返回格式化后的字符串,不直接输出
  • fmt.Fprintf:将格式化内容写入指定的 io.Writer

例如:

name := "Alice"
age := 25
fmt.Print("Name:", name, " Age:", age)   // Name:Alice Age:25
fmt.Println("\nHello,", name)            // Hello, Alice(换行)
fmt.Printf("My name is %s and I'm %d years old.\n", name, age)
result := fmt.Sprintf("Age next year: %d", age+1) // result 是字符串

常用格式化动词(verbs)

格式化动词决定了变量如何被输出。以下是最常用的几种:

  • %v:默认格式输出值,适用于任意类型
  • %+v:输出结构体时,包含字段名
  • %#v:Go 语法表示,显示类型和值
  • %T:输出值的类型
  • %t:布尔值,true 或 false
  • %d:十进制整数
  • %f:浮点数
  • %s:字符串
  • %q:带双引号的字符串或 rune
  • %p:指针地址

示例:

Pinokio Pinokio

Pinokio是一款开源的AI浏览器,可以安装运行各种AI模型和应用

Pinokio 232 查看详情 Pinokio
type Person struct {
    Name string
    Age  int
}
p := Person{"Bob", 30}

fmt.Printf("%v\n", p)   // {Bob 30}
fmt.Printf("%+v\n", p)  // {Name:Bob Age:30}
fmt.Printf("%#v\n", p)  // main.Person{Name:"Bob", Age:30}
fmt.Printf("%T\n", p)   // main.Person
fmt.Printf("%t\n", true)// true
fmt.Printf("%.2f\n", 3.14159) // 3.14

宽度、精度与对齐控制

fmt 支持通过格式化动词控制输出的宽度、精度和对齐方式:

  • %8s:右对齐,最小宽度为8
  • %-8s:左对齐,最小宽度为8
  • %06d:数字不足6位时前面补0
  • %.2f:保留两位小数
  • %8.2f:总宽度8,保留2位小数,右对齐

例子:

fmt.Printf("|%8s|\n", "Hi")     // |      Hi|
fmt.Printf("|%-8s|\n", "Hi")    // |Hi      |
fmt.Printf("%04d\n", 7)         // 0007
fmt.Printf("%.1f\n", 3.1415)    // 3.1
fmt.Printf("|%6.2f|\n", 3.1)    // |  3.10|

自定义类型的格式化输出

如果想让自定义类型支持特定格式输出,可以实现 fmt.Formatter 接口,或更简单的,实现 String() string 方法(即满足 fmt.Stringer 接口)。

type Temperature float64

func (t Temperature) String() string {
    return fmt.Sprintf("%.2f°C", t)
}

temp := Temperature(23.456)
fmt.Println(temp) // 23.46°C

这样在使用 %v 或 Println 时,会自动调用 String() 方法。

基本上就这些。熟练使用 fmt 的格式化功能,能让你的 Go 程序输出更清晰、更可控。

以上就是如何在Golang中使用fmt输出格式化内容_Golang fmt格式化输出方法汇总的详细内容,更多请关注其它相关文章!


# 多个  # 微信营销推广APP  # 女王视频app.seo  # 濮阳网站建设 网络服务  # 石嘴山谷歌seo公司  # 威海资讯网站建设  # 网站建设的代码修改方法  # 域名时间与网站优化  # 达州网站优化排名  # 三灶网站推广  # 信息流营销推广是什么  # 适用于  # 两位  # 右对齐  # golang  # 复用  # 如何实现  # 如何使用  # 换行  # 如何在  # 自定义  # 代码可读性  # 格式化输出  # ai  # 工具  # go语言  # go  # fmt 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作  漫蛙manwa官网登录界面_漫蛙漫画网页版主站入口  HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全  Golang如何实现简单的Web表单_Golang表单提交与验证处理方法  一加Ace 6T实拍样张首次公布!李杰:主摄实力完全看齐4K档性能旗舰  Go语言中高效处理x-www-form-urlencoded表单数据  J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案  如何将一个大型PHP应用拆分为多个Composer包_微服务与模块化架构的Composer实践  Mudbox图层蒙版怎么用_Mudbox图层蒙版数字雕刻应用技巧  使用 Pandas 高效处理 .dat 文件:字符清理与数据计算  Angular响应式表单:实现提交后表单及按钮的禁用与只读化  痛风发作了怎么办? 快速止痛和后期饮食调理  怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法  必由学官方网站入口 必由学学生教师共用登录通道  如何在 Windows 11 中启动游戏手柄设置  Django表单验证失败时保留用户输入数据的最佳实践  优化MinIO list_objects_v2 操作的性能瓶颈与最佳实践  抖音网页版快捷访问 抖音网页版网页版入口操作教程  Yandex官方入口网址 Yandex俄罗斯搜索引擎最新在线地址  MongoDB Aggregation:在嵌套对象数组中精确匹配ObjectId  mysql如何设置表访问权限_mysql表访问权限配置  Lar*el 递归关系中排除指定分支的教程  搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具  响应式CSS Grid布局:优化网格项在小屏幕下的堆叠与宽度适配  HuggingFaceEmbeddings中向量嵌入维度调整的限制与理解  理解Python模块与全局变量的作用域管理  192.168.1.1管理中心入口 192.168.1.1路由器网页设置平台  不会效仿卡普空!《铁拳》制作人澄清:不采取赛事付费|直播|  《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元  J*aScript中向JSON对象添加新属性的正确姿势  QQ邮箱官方登录入口_QQ邮箱网页版快捷使用平台  2025-2030年全球乘用车销量预测:新能源成增长主力  React Hooks最佳实践:动态组件状态管理的组件化方案  qq音乐在线播放入口_qq音乐电脑版登录链接  Python类型检查:优化关联可选属性的Mypy推断策略  使用Pandas转换并合并DataFrame:多列映射至统一结构  PostgreSQL海量数据高效导入策略:Python与Django实践指南  怎么在html里运行vbs脚本_html中运行vbs脚本方法【教程】  蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】  钉钉视频会议声音异常如何处理 钉钉会议音频修复技巧  使用J*aScript检测输入元素是否包含在特定类中  PyTorch模型训练效果不佳?深入剖析常见错误与调试技巧  豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售  fishbowl官网免费版 fishbowl养鱼网站入口  J*aScript中高效清空DOM列表元素:解决for循环中断与任务管理问题  ACG动漫视频网入口 ACG动漫*免费正版观看地址  铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧  马斯克:Optimus 人形机器人复数形式为 Optimi  QQ邮箱网页版登录入口 QQ邮箱官方在线使用平台  AngularJS $http POST请求数据传递与Go后端接收实践 

搜索