golang fmt.Printf格式串用法

CodingCode · · 2474 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang fmt.Printf格式串用法

int

var v int = 13
fmt output description
%T [int] The type of the value
%v [13] Default format
%+v [13] %v plus field names
%#v [13] Go-syntax format
%d [13] description
%+d [+13] 显示符号
%4d [ 13] 固定宽度,前面补空格
%-4d [13 ] 固定宽度,后面补空格
%04d [0013] 固定宽度,前面0
%b [1101] 二进制
%o [15] 八进制
%x [d] 16进制,小写abcdef
%X [D] 16进制,大小ABCDEF
%#x [0xd] 16进制,小写abcdef,带前缀0x
%#X [0XD] 16进制,大小ABCDEF,带前缀0X

float

var v float64 = 123.456
fmt output description
%T [float64] 同上
%v [123.456] 同上
%+v [123.456] 同上
%#v [123.456] 同上
%e [1.234560e+02] 科学表示
%f [123.456000] 一般用法
%.2f [123.46] 固定小数位
%10.2f [ 123.46] 固定长度,前面补空格
%10.4f [ 123.4560] 固定长度,前面补空格
%-10.2f [123.46 ] 固定长度,后面补空格
%-10.4f [123.4560 ] 固定长度,后面补空格
%g [123.456] %f去掉不必要的0
%10g [ 123.456] %g,前面补空格
%-10g [123.456 ] %g,后面补空格
%010g [000123.456] %g,前面补0

string

var v string = "ABCD"
fmt output description
%T [string] 同上
%v [ABCD] 同上
%+v [ABCD] 同上
%#v ["ABCD"] 同上
%s [ABCD] 一般用法
%10s [ ABCD] 前面补空格
%010s [000000ABCD] 前面补0
%-10s [ABCD ] 后面补空格
%q ["ABCD"] 加引号
%x [41424344] 打印小写16进制
%X [41424344] 打印大写16进制
% x [41 42 43 44] 打印小写16进制,空格分开
% X [41 42 43 44] 打印大写16禁止,空格分开

bool

var v bool = true
fmt output description
%T [bool] 同上
%v [true] 同上
%+v [true] 同上
%#v [true] 同上
%t [true] 布尔值

char

var v rune = 'A' 
fmt output description
%T [int32] 同上
%v [65] 同上
%+v [65] 同上
%#v [65] 同上
%c [A] 字符
%q ['A'] 引号
%U [U+0041] UTF-8
%#U [U+0041 'A'] UTF-8
var v byte = 'A' 
fmt output description
%T [uint8] 同上
%v [65] 同上
%+v [65] 同上
%#v [0x41] 同上
%c [A] 字符
%q ['A'] 引号
%U [U+0041] UTF-8
%#U [U+0041 'A'] UTF-8

slice

var v []string = []string {"AAAA", "BBBB"}
fmt output description
%T [[]string] description
%v [[AAAA BBBB]] 同上
%+v [[AAAA BBBB]] 同上
%#v [[]string{"AAAA", "BBBB"}] 同上

map

var v map[int]string = map[int]string {100: "AAAA", 200: "BBBB"}
fmt output description
%T [map[int]string] description
%v [map[100:AAAA 200:BBBB]] 同上
%+v [map[200:BBBB 100:AAAA]] 同上
%#v [map[int]string{100:"AAAA", 200:"BBBB"}] 同上

struct

var v = struct {
        aa int
        bb string
    } {
        100,
        "AAAA",
    }
fmt output description
%T [struct { aa int; bb string }] 同上
%v [{100 AAAA}] 同上
%+v [{aa:100 bb:AAAA}] 同上
%#v [struct { aa int; bb string }{aa:100, bb:"AAAA"}] 同上

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:CodingCode

查看原文:golang fmt.Printf格式串用法

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2474 次点击  
加入收藏 微博
被以下专栏收入,发现更多相似内容
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传