[Go]fmt Sprintf的格式占位符%

普通占位符

占位符说明举例输出
%v相应值的默认格式。Printf("%v", people){zhangsan}
%+v打印结构体时,会添加字段名Printf("%+v", people){Name:zhangsan}
%#v相应值的Go语法表示Printf("#v", people)main.Human{Name:"zhangsan"}
%T相应值的类型的Go语法表示Printf("%T", people)main.Human
%%字面上的百分号,并非值的占位符Printf("%%")%

整数占位符

占位符说明举例输出
%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-fPrintf("%x", 13)d
%X十六进制表示,字母形式为大写 A-F Printf("%x", 13)D
%UUnicode格式:U+1234,等同于 "U+%04X"Printf("%U", 0x4E2D)U+4E2D
p := point{1, 2}
    fmt.Printf("%v\n", p) //{1,2}
    fmt.Printf("%+v\n", p) //{x:1 y:2}
    fmt.Printf("%#v\n", p) //main.point{x:1, y:2}
    fmt.Printf("%T\n", p) // main.point
    fmt.Printf("%t\n", true) //true
    fmt.Printf("%d\n", 123) //123
    fmt.Printf("%b\n", 14) //1110
    fmt.Printf("%c\n", 33) //!
    fmt.Printf("%x\n", 456) //1c8
    fmt.Printf("%f\n", 78.9) //78.900000
    fmt.Printf("%e\n", 123400000.0) //1.234000e+08
    fmt.Printf("%E\n", 123400000.0) //1.234000E+08
    fmt.Printf("%s\n", "\"string\"") //"string"
    fmt.Printf("%q\n", "\"string\"")//"\"string\""
    fmt.Printf("%x\n", "hex this") //6865782074686973
    fmt.Printf("%p\n", &p) //0xc0000b4010
    fmt.Printf("|%6d|%6d|\n", 12, 345) //|    12|   345|
    fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45) //|  1.20|  3.45|
    fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45) //|1.20  |3.45  |
    fmt.Printf("|%6s|%6s|\n", "foo", "b") //|   foo|     b|
    fmt.Printf("|%-6s|%-6s|\n", "foo", "b") //|foo   |b     |
    s := fmt.Sprintf("a %s", "string") 
    fmt.Println(s) //a string
    fmt.Fprintf(os.Stderr, "an %s\n", "error")//an error
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值