golang fmt.Printf() 小抄
作者:互联网
Other flags 其他标记 | ||
+ | 总是输出 数值 的符号 对于 %q 或 %+q 确保是ASCII-only的输出 | |
- | 在右边补充空格(字段左对齐时) | |
# | add leading 0 0 for octal (%#o) 0x for hex (%#x) 0X for hex (%#X) suppress 0x for %#p %+q 输出 a raw (backquoted) string if strconv.CanBackquote returns true; | |
空格 | %d数字时,为省略的正号留个空格 %x %X 输出字符串或slice 的16进制 时,字节之间保留空格 | |
0 | padding时,0打头,而不是空格打头 输出数值时,正负号依然是最前面(即0补充在正负号之后) | |
General 一般 | ||
%v | 以 值的 默认格式输出 struct时,%+v 会额外输出field name | fmt.Printf("%v, %v\n", "Hello世界", 99) 注意:%+v 会额外输出field name |
%#v | 以Go-syntax的格式 输出 值 | var str2 = ` 仰知天文,俯察地理,中晓人和, 注意:str2中包含了tab |
%T | 以Go-syntax的格式 输出 值的类型 | fmt.Printf("%T, %T, %T", count, f1, stu) int, float64, main.Student |
%% | 输出百分号。不消耗任何入参 | fmt.Printf("%d%%的财富掌握在%d%%的人手中", 80, 20) 注意:%%不消耗任何入参 |
The default format for %v 针对不同类型,%v等价于 | ||
%v 等价于 %t | bool: | |
%v 等价于 %d | int, int8, uint, uint8 etc.:(即:整数) %#v 则等价于 %f | |
%v 等价于 %g | float32, complex64, etc.: | |
%v 等价于 %s | string | |
%v 等价于 %p | chan | |
%v 等价于 %p | pointer | |
String and slice of bytes string,或bytes的切片 | ||
%s | 输出 string或slice的 非解释字节 | |
%q | 输出 双引号包裹的,Go-syntax的格式 字符串 | 同 %#v |
%x | 输出 16进制,小写,每个byte输出两个character | fmt.Printf("%x, %X\n% x, % X", str, str, str, str) 48656c6c6fe4b896e7958c, 48656C6C6FE4B896E7958C 48 65 6c 6c 6f e4 b8 96 e7 95 8c, 48 65 6C 6C 6F E4 B8 96 E7 95 8C |
%X | 输出 16进制,大写,每个byte输出两个character | |
Integer 整数 | ||
%b | 二进制 | fmt.Printf("%b, %c, %d\n%o, %q, %U", 198, 198, 198, 198, 198, 198) 注意:八进制这玩意 根本看不出 是十进制还是八进制 |
%c | unicode code point所代表的character | |
%d | 十进制 | |
%o (小写字母o) | 八进制 | |
%q | 输出 单引号包裹的,Go-syntax的格式 character | fmt.Printf("%q,%q,%q,%q", 97, 9, 10, 13) 'a','\t','\n','\r' 注意:整数使用%q,就得到单引号包裹的character |
%x | 16进制,小写,每个byte输出两个character | |
%X | 16进制,大写,每个byte输出两个character | |
%U | unicode格式,例如 U+1234;等价于 U+%04X | |
Floating-point and complex constituents 浮点数 和 复数部分 | ||
%b | 指数为 2的指数,无十进制,科学计数法 以 strconv.FormatFloat 的方式使用 'b' 格式 1024.0得到的是4503599627370496p-42 4503599627370496 * 2^(-42) == 1024.0 | |
%e | 科学计数法 1024.0得到的是 1.024000e+03 -1024.0得到的是 -1.024000e+03 | |
%E | 科学计数法 1024.0得到的是 1.024000E+03 -1024.0得到的是 -1.024000E+03 | |
%f | 带小数点,十进制,没有指数 1024.0得到的是 1024.000000 -1024.0得到的是 -1024.000000 | |
%F | 同%f,两者完全一样 | |
%g | 大数值时则是%e 小数值时则是%f | |
%G | 大数值时则是%E 小数值时则是%F | |
Floating-point Precision 浮点数精度 | ||
%f | 宽度 默认,精度 默认小数点后6位 | |
%9f | 宽度 9,精度 默认小数点后6位 | |
%.2f | 宽度 默认,精度 2 | |
%9.2f | 宽度 9,精度 2 | |
%9.f | 宽度 9,精度 0 | |
Pointer 指针 | ||
%p | 0x打头,16进制表示法 | |
Boolean | ||
%t | 输出 true or false | |
标签:输出,198,fmt,小抄,%#,golang,1024.0,Printf 来源: https://blog.csdn.net/iceman1952/article/details/121888828