fmt.Printf()的一些输出格式
示例代码:
package main
import "fmt"
func main() {
// 整型
var n = 100
fmt.Printf("%T\n", n) // 类型, 所有类型可用
fmt.Printf("%v\n", n) // 值, 所有类型可用
fmt.Printf("%b\n", n) // 二进制
fmt.Printf("%d\n", n) // 十进制
fmt.Printf("%o\n", n) // 八进制
fmt.Printf("%x\n", n) // 十六进制
// 浮点型
var f = 1.1234567
fmt.Printf("%f\n", f) // 默认6位小数,多余部分四舍五入
fmt.Printf("%.7f\n", f) // .+数字控制小数位数,超出部分添0
// 字符串
var s = "hello world!"
fmt.Printf("%s\n", s) // 打印字符串
fmt.Printf("%v\n", s) // 值,结果与%s相同
fmt.Printf("%#v\n", s) // 带引号的字符串
// 单个字符
c1 := '强'
c2 := '-'
fmt.Printf("%c %c\n", c1, c2) //打印单个字符
fmt.Printf("%v\n", c2) // 输出对应的ASCII码
// 指针
fmt.Printf("%p\n", &c2) // 输出地址,16进制表示
}
输出:
int
100
1100100
100
144
64
1.123457
1.1234567
hello world!
hello world!
"hello world!"
强 -
45
0xc000012138
补充:
%+v
:类似%v
,但输出结构体时会添加字段名
%#v
:值的Go语法表示
%%
: 百分号