Skip to content

Go 字符串格式化符号

格式化符号描述示例
通用格式
%v以默认格式输出变量fmt.Printf("%v", 42)
%+v对结构体加字段名的方式输出fmt.Printf("%+v", struct{A int}{A: 42})
%#v以 Go 语法格式化输出fmt.Printf("%#v", map[string]int{"a": 1})
%T输出值的类型fmt.Printf("%T", 42)
%%输出百分号fmt.Printf("%%")
布尔值
%t输出 true 或 falsefmt.Printf("%t", true)
整数
%b二进制表示fmt.Printf("%b", 5)
%cUnicode 对应字符fmt.Printf("%c", 65)
%d十进制表示fmt.Printf("%d", 42)
%o八进制表示fmt.Printf("%o", 10)
%x十六进制表示(小写字母)fmt.Printf("%x", 15)
%X十六进制表示(大写字母)fmt.Printf("%X", 15)
%UUnicode 格式输出fmt.Printf("%U", 65)
浮点数
%f十进制浮点数fmt.Printf("%f", 3.14)
%e科学计数法(小写 e)fmt.Printf("%e", 3.14)
%E科学计数法(大写 E)fmt.Printf("%E", 3.14)
%g自动选择 %f 或 %e 的简洁表示fmt.Printf("%g", 3.14)
字符串与字节
%s普通字符串fmt.Printf("%s", "Go")
%q带双引号的字符串或字符fmt.Printf("%q", "Go")
%x每个字节用两字符十六进制表示fmt.Printf("%x", "abc")
%X十六进制(大写)表示fmt.Printf("%X", "abc")
指针
%p指针地址fmt.Printf("%p", &x)