Go 语言中格式化动词

当然,我很乐意为你提供 Go 语言中所有的格式化动词的完整列表。Go 语言的格式化动词非常丰富,可以满足各种打印和格式化需求。以下是完整的列表:

通用:

%v - 以默认格式打印值

%+v - 类似 %v,但对结构体会添加字段名

%#v - 以 Go 语法格式打印值

%T - 打印值的类型

%% - 打印百分号本身

布尔值:

%t - 打印 true 或 false

整数:

%b - 二进制

%c - 相应 Unicode 码点表示的字符

%d - 十进制

%o - 八进制

%O - 八进制,带前缀 0o

%q - 单引号围绕的字符字面值,由 Go 语法安全地转义

%x - 十六进制,小写字母

%X - 十六进制,大写字母

%U - Unicode 格式:U+1234,等同于 "U+%04X"

浮点数与复数:

%b - 无小数部分的指数表示,科学计数法

%e - 科学计数法,例如 -1.234456e+78

%E - 科学计数法,例如 -1.234456E+78

%f - 有小数点而无指数,例如 123.456

%F - 等同于 %f

%g - 根据情况选择 %e 或 %f 以产生更紧凑的输出

%G - 根据情况选择 %E 或 %F 以产生更紧凑的输出

字符串和字节切片:

%s - 输出字符串表示(string类型或[]byte)

%q - 双引号围绕的字符串,由 Go 语法安全地转义

%x - 十六进制,小写字母,每字节两个字符

%X - 十六进制,大写字母,每字节两个字符

指针:

%p - 十六进制表示,前缀 0x

切片:

%p - 地址的十六进制表示,前缀 0x

其他标记:

    • 总是输出数值的正负号
    • 在右侧而非左侧填充空格(左对齐该区域)

- 备用格式:为八进制添加前导 0(%#o),为十六进制添加前导 0x(%#x)或 0X(%#X),为 %p(%#p)去掉前导 0x

' ' - (空格)为数值中省略的正负号留出空白(% d)

0 - 填充前导的0而非空格

go 复制代码
package main

import "fmt"

func main() {
    i := 15
    f := 123.456
    s := "Hello"
    c := complex(1, 2)

    fmt.Printf("整数:%%d = %d, %%x = %x, %%o = %o, %%b = %b\n", i, i, i, i)
    fmt.Printf("浮点:%%f = %f, %%e = %e, %%g = %g\n", f, f, f)
    fmt.Printf("字符串:%%s = %s, %%q = %q\n", s, s)
    fmt.Printf("复数:%%v = %v, %%g = %g\n", c, c)
    fmt.Printf("指针:%%p = %p\n", &i)
    fmt.Printf("类型:%%T = %T, %T, %T\n", i, f, s)
}
相关推荐
码事漫谈1 分钟前
C++高并发编程核心技能解析
后端
码事漫谈2 分钟前
C++与浏览器交织-从Chrome插件到WebAssembly,开启性能之门
后端
JIngJaneIL18 分钟前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
祁思妙想22 分钟前
Python中的FastAPI框架的设计特点和性能优势
开发语言·python·fastapi
唐装鼠27 分钟前
rust自动调用Deref(deepseek)
开发语言·算法·rust
Lucas5555555544 分钟前
现代C++四十不惑:AI时代系统软件的基石与新征程
开发语言·c++·人工智能
源代码•宸44 分钟前
goframe框架签到系统项目(BITFIELD 命令详解、Redis Key 设计、goframe 框架教程、安装MySQL)
开发语言·数据库·经验分享·redis·后端·mysql·golang
⑩-1 小时前
SpringCloud-Nacos 配置中心实战
后端·spring·spring cloud
吃喝不愁霸王餐APP开发者1 小时前
Java后端系统对接第三方外卖API时的幂等性设计与重试策略实践
java·开发语言
写代码的【黑咖啡】1 小时前
深入理解 Python 中的模块(Module)
开发语言·python