Go语言中的打印格式列表

17

我想知道使用fmt包函数的打印格式列表。

例如:

%v 用于打印值。 %T 可以打印值的类型。

还有什么其他的?

2个回答

36

格式化“动词”的列表可在fmt包的文档中找到:

通用:

%v  the value in a default format.
    when printing structs, the plus flag (%+v) adds field names
%#v a Go-syntax representation of the value
%T  a Go-syntax representation of the type of the value
%%  a literal percent sign; consumes no value

布尔值:

%t  the word true or false

整数:

%b  base 2
%c  the character represented by the corresponding Unicode code point
%d  base 10
%o  base 8
%q  a single-quoted character literal safely escaped with Go syntax.
%x  base 16, with lower-case letters for a-f
%X  base 16, with upper-case letters for A-F
%U  Unicode format: U+1234; same as "U+%04X"

浮点数和复数构成部分:

%b  decimalless scientific notation with exponent a power of two,
    in the manner of strconv.FormatFloat with the 'b' format,
    e.g. -123456p-78
%e  scientific notation, e.g. -1234.456e+78
%E  scientific notation, e.g. -1234.456E+78
%f  decimal point but no exponent, e.g. 123.456
%g  whichever of %e or %f produces more compact output
%G  whichever of %E or %f produces more compact output

字符串和字节切片:

%s  the uninterpreted bytes of the string or slice
%q  a double-quoted string safely escaped with Go syntax
%x  base 16, lower-case, two characters per byte
%X  base 16, upper-case, two characters per byte

指针:

%p  base 16 notation, with leading 0x

其他标志:

+   always print a sign for numeric values;
    guarantee ASCII-only output for %q (%+q)
-   pad with spaces on the right rather than the left (left-justify the field)
#   alternate format: add leading 0 for octal (%#o), 0x for hex (%#x);
    0X for hex (%#X); suppress 0x for %p (%#p);
    print a raw (backquoted) string if possible for %q (%#q);
    write e.g. U+0078 'x' if the character is printable for %U (%#U).
' ' (space) leave a space for elided sign in numbers (% d);
    put spaces between bytes printing strings or slices in hex (% x, % X)
0   pad with leading zeros rather than spaces

2
谢谢您的快速回复,这对我很有帮助。 - Coder

4
你可以查看http://golang.org/pkg/fmt/获取更多信息,并运行它。
$ godoc -http=0.0.0.0:8080

打开浏览器输入localhost:8080即可访问完整的离线Go网站(包括您的Go源代码和文档)。


2
你可以直接使用 :8080(尽管通常使用端口6060)。 - mk12

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接