golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。
动 词 |
功 能 |
%v |
按值的本来值输出 |
%+v |
在 %v 基础上,对结构体字段名和值进行展开 |
%#v |
输出 Go 语言语法格式的值 |
%T |
输出 Go 语言语法格式的类型和值 |
%% |
输出 % 本体 |
%b |
整型以二进制方式显示 |
%o |
整型以八进制方式显示 |
%d |
整型以十进制方式显示 |
%x |
整型以十六进制方式显示 |
%X |
整型以十六进制、字母大写方式显示 |
%U |
Unicode 字符 |
%f |
浮点数 |
%p |
指针,十六进制方式显示 |
type Human struct {
Name string
}
func main() {
var people = Human{
Name : "sam",
}
//%v 相应值的默认格式 => {sam}
fmt.Printf("%v", people)
//打印结构体时,会添加字段名 => {Name:sam}
fmt.Printf("%+v", people)
//相应值的Go语法表示 => main.Human{Name:"sam"}
fmt.Printf("%#v", people)
//相应值的类型的Go语法表示 =>main.Human
fmt.Printf("%T", people)
//%p 十六进制表示,前缀 0x =>0xc000096220
fmt.Printf("%p", &people)
}