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