🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## **格式化输出函数**  fmt包含有格式化I/O函数,类似于C语言的printf和scanf。格式字符串的规则来源于C,但更简单一些 <br> ### [Go 语言 fmt.Sprintf (格式化输出)]()  Printf()、Sprintf()、Fprintf() 函数的区别用法是什么?   都是输出格式化字符串,只是输出到的目标不一样: 1.     Printf() 是把格式化字符串输出到标准到标准输出(一般是屏幕,可以重定向) <br> 2.     Printf() 是和标准输出文件(stdout)关联的,Fprintf 则没有这个限制 <br> 3.     Sprintf() 是把格式化字符串输出到指定的字符串中,可以用一个变量来接受,然后在打印 <br> 4.     Fprintf() 是把格式字符串输出到指定的文件设备中,所以参数比Printf 多一个文件指针*File 主要用于文件操作,Fprintf() 是格式化输出到一个 Stream ,通常是一个文件 <br> **普通占位符** | 占位符 | 说明 | 举例 | 输出 | | --- | --- | --- | --- | | %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("%%") | % | **布尔占位符** | 占位符 | 说明 | 举例 | 输出 | | --- | --- | --- | --- | | %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 |