您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

golang格式化占位符有哪些

2025/5/12 8:58:45发布29次查看
go格式化占位符可分为:1、普通占位符,包括“%v”、“%+v”、“%#v”、“%t”等;2、布尔占位符“%t”;3、整数占位符,包括“%b”、“%c”、“%d”、“%o”等;4、浮点数和复数占位符,包括“%b”、“%e”、“%e”、“%f”等;5、字符串与字节切片占位符,包括“%s”、“%q”、“%x”等;6、指针占位符“%p”;7、其它标记,包括“+”、“-”、“#”。
本教程操作环境:windows7系统、go 1.18版本、dell g3电脑。
在 golang 中,格式化的输入与输出,都需要使用到格式化占位符。比如获取用户输入的数据的函数 fmt.scanf() ,格式化输出的函数 fmt.printf()。
go 语言的格式化占位符大概可分为普通占位符、布尔 占位符、整数 占位符、浮点数 和 复数 占位符、字符串 与 字节切片 占位符、指针 占位符以及其它标记等。
普通占位符
占位符说明举例输出
%v 相应值的默认格式 printf(%v”, website) {haicoder}
%+v 打印结构体时,会添加字段名 printf(%+v”, website) {name:haicoder}
%#v 相应值的go语法表示 printf(#v”, website) main.website{name:”haicoder”}
%t 相应值的类型的go语法表示 printf(%t”, website) main.website
%% 字面上的百分号,并非值的占位符 printf(%%”) %
布尔占位符
占位符说明举例输出
%t true 或 false printf(%t”, true) true
整数占位符
占位符说明举例输出
%b 二进制表示 printf(%b”, 5) 101
%c 相应 unicode 码点所表示的字符 printf(%c”, 0x4e2d) 中
%d 十进制表示 printf(%d”, 0x12) 18
%o 八进制表示 printf(%d”, 10) 12
%q 单引号围绕的字符字面值,由go语法安全地转义 printf(%q”, 0x4e2d) ‘中’
%x 十六进制表示,字母形式为小写 a-f printf(%x”, 13) d
%x 十六进制表示,字母形式为大写 a-f printf(%x”, 13) d
%u unicode格式:u+1234,等同于 u+%04x” printf(%u”, 0x4e2d) u+4e2d
浮点数和复数的组成部分(实部和虚部)
占位符说明举例输出
%b 无小数部分的,指数为二的幂的科学计数法,与 strconv.formatfloat 的 ‘b’ 转换格式一致。例如 -123456p-78
%e 科学计数法,例如 -1234.456e+78 printf(%e”, 10.2) 1.020000e+01
%e 科学计数法,例如 -1234.456e+78 printf(%e”, 10.2) 1.020000e+01
%f 有小数点而无指数,例如 123.456 printf(%f”, 10.2) 10.200000
%g 根据情况选择 %e 或 %f 以产生更紧凑的(无末尾的0) 输出 printf(%g”, 10.20) 10.2
%g 根据情况选择 %e 或 %f 以产生更紧凑的(无末尾的0) 输出 printf(%g”, 10.20+2i) (10.2+2i)
字符串与字节切片
占位符说明举例输出
%s 输出字符串表示(string类型或[]byte) printf(%s”, []byte(go语言”)) go语言
%q 双引号围绕的字符串,由go语法安全地转义 printf(%q”, go语言”) go语言”
%x 十六进制,小写字母,每字节两个字符 printf(%x”, golang”) 686a6c61164a
%x 十六进制,大写字母,每字节两个字符 printf(%x”, golang”) 686f6a616c61
指针
占位符说明举例输出
%p 十六进制表示,前缀 0x printf(%p”, &people) 0x4a56a0
其它标记
占位符说明举例输出
+ 总打印数值的正负号;对于%q(%+q)保证只输出ascii编码的字符。 printf(%+q”, 中文”) \u4e2d\u6587”
- 在右侧而非左侧填充空格(左对齐该区域)
# 备用格式:为八进制添加前导 0(%#o)为十六进制添加前导 0x(%#x)或 0x(%#x),为 %p(%#p)去掉前导 0x;如果可能的话,%q(%#q)会打印原始 (即反引号围绕的)字符串;如果是可打印字符,%u(%#u)会写出该字符的unicode 编码形式(如字符 x 会被打印成 u+0078 ‘x’) printf(%#u”, ‘中’) u+4e2d
’ ‘ 空格)为数值中省略的正负号留出空白(% d) 以十六进制(% x, % x)打印字符串或切片时,在字节之间用空格隔开
0 填充前导的0而非空格;对于数字,这会将填充移到正负号之后
【相关推荐:go视频教程、编程教学】
以上就是golang格式化占位符有哪些的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product