go fmt包格式化

简介: go fmt包格式化
通用:
%v    值的默认格式表示。当输出结构体时,扩展标志(%+v)会添加字段名
%#v    值的Go语法表示
%T    值的类型的Go语法表示
%%    百分号
布尔值:
%t    单词true或false
整数:
%b    表示为二进制
%c    该值对应的unicode码值
%d    表示为十进制
%o    表示为八进制
%q    该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
%x    表示为十六进制,使用a-f
%X    表示为十六进制,使用A-F
%U    表示为Unicode格式:U+1234,等价于"U+%04X"
浮点数、复数的两个组分:
%b    无小数部分、二进制指数的科学计数法,如-123456p-78;参见strconv.FormatFloat 
%e    科学计数法,如-1234.456e+78 
%E    科学计数法,如-1234.456E+78 
%f    有小数部分    但无指数部分,如123.456 
%F    等价于%f 
%g    根据实际情况采用%e或%f格式(以获得    更简洁、准确的输出)
%G    根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)
字符串和[]byte:
%s    直接输出字符串或者[]byte
%q    该值对应的双引号括起来的Go语法字符串字面值,必要时会采用安全的转义表示
%x    每个字节用两字符十六进制数表示(使用a-f)
%X    每个字节用两字符十六进制数表示(使用A-F)
指针:
%p    表示为十六进制,并加上前导的0x
宽度通过一个紧跟在百分号后面的十进制数指定,如果未指定宽度,则表示值时除必需之外不作填充。精度通过(可能有的)宽度后跟点号后跟的十进制数指定。如果未指定精度,会使用默认精度;如果点号后没有跟数字,表示精度为0。举例如下:
%f:    默认宽度,默认精度
%9f   宽度9,默认精度
%.2f   默认宽度,精度2 
%9.2f  宽度9,精度2
%9.f   宽度9,精度0
对于整数,宽度和精度都设置输出总长度。采用精度时表示右对齐并用0填充,而宽度默认表示用空格填充。
对于浮点数,宽度设置输出总长度;精度设置小数部分长度(如果有的话),除了%g/%G,此时精度设置总的数字个数。例如,对数字123.45,格式%6.2f 输出123.45;格式%.4g输出123.5。%e和%f的默认精度是6,%g的默认精度是可以将该值区分出来需要的最小数字个数。
对复数,宽度和精度会分别用于实部和虚部,结果用小括号包裹。因此%f用于1.2+3.4i输出(1.200000+3.400000i)。
其它flag:
+    总是输出数值的正负号;对%q(%+q)会生成全部是ASCII字符的输出(通过转义);
-    在输出右边填充空白而不是默认的左边(即从默认的右对齐切换为左对齐);
#    切换格式:
      八进制数前加0(%#o),十六进制数前加0x(%#x)或0X(%#X),指针去掉前面的    0x(%#p);
     对%q(%#q),如果strconv.CanBackquote返回真会输出反引号括起来的未转义字符串;
     对%U(%#U),如果字符是可打印的,会在输出Unicode格式、空格、单引号括起来    的go字面值;
' '    对数值,正数前加空格而负数前加负号;
      对字符串采用%x或%X时(% x或% X)会给各打印的字节之间加空格;
0    使用0而不是空格填充,对于数值类型会把填充的0放在正负号后面;
目录
相关文章
|
9天前
|
Linux Go iOS开发
怎么禁用 vscode 中点击 go 包名时自动打开浏览器跳转到 pkg.go.dev
本文介绍了如何在 VSCode 中禁用点击 Go 包名时自动打开浏览器跳转到 pkg.go.dev 的功能。通过将 gopls 的 `ui.navigation.importShortcut` 设置为 "Definition",可以实现仅跳转到定义处而不打开链接。具体操作步骤包括:打开设置、搜索 gopls、编辑 settings.json 文件并保存更改,最后重启 VSCode 使设置生效。
33 7
怎么禁用 vscode 中点击 go 包名时自动打开浏览器跳转到 pkg.go.dev
|
23天前
|
Go 索引
go语言使用strings包
go语言使用strings包
23 3
|
1月前
|
编译器 Go 开发者
go语言中导入相关包
【11月更文挑战第1天】
32 3
|
2月前
|
存储 Go 数据库
Go语言Context包源码学习
【10月更文挑战第21天】Go 语言中的 `context` 包用于在函数调用链中传递请求上下文信息,支持请求的取消、超时和截止时间管理。其核心接口 `Context` 定义了 `Deadline`、`Done`、`Err` 和 `Value` 方法,分别用于处理截止时间、取消信号、错误信息和键值对数据。包内提供了 `emptyCtx`、`cancelCtx`、`timerCtx` 和 `valueCtx` 四种实现类型,满足不同场景需求。示例代码展示了如何使用带有超时功能的上下文进行任务管理和取消。
|
3月前
|
存储 Go
Golang语言基于go module方式管理包(package)
这篇文章详细介绍了Golang语言中基于go module方式管理包(package)的方法,包括Go Modules的发展历史、go module的介绍、常用命令和操作步骤,并通过代码示例展示了如何初始化项目、引入第三方包、组织代码结构以及运行测试。
69 3
|
4月前
|
Go 开发者
|
4月前
|
编译器 Go 开发者
|
7月前
|
编译器 Go
Go 语言基础:包、函数、语句和注释解析
一个 Go 文件包含以下几个部分: 包声明 导入包 函数 语句和表达式 看下面的代码,更好地理解它:
68 0
go 包变量函数
go 包变量函数
40 0
|
Java Go Python
Go基础(包、变量和函数):开启Go语言之旅
开启Go语言之旅 Go编程语言是一个开源项目,可以让程序员提高工作效率。 Go是富有表现力,简洁,干净和高效的。其并发机制使编写充分利用多核和联网机器的程序变得容易,而其新颖类型系统则可实现灵活的模块化程序构建。
1432 0