golang的fmt包实现了格式化I/O函数:
package main import "fmt" type Human struct { Name string } func main() { //普通占位符 var people = Human{Name: "咸鱼兆"} // %+v 添加字段名,输出相应值的默认格式 fmt.Printf("%+v ", people) //相应值用go语法形式输出 fmt.Printf("%#v", people) //相应值的类型用go语法形式输出 fmt.Printf("%T ", people) //打印 符号% fmt.Printf("百分比:90%% ") //布尔占位符 fmt.Printf("%t ", true) //用二进制表示 //整数占位符 fmt.Printf("%b ", 5) //相应Unicode码 表示的字符 fmt.Printf("%c ", 0x4e2d) // 十进制表示 fmt.Printf("%d ", 0x12) //八进制表示 fmt.Printf("%o ", 10) //单引号围绕的字符字面值,由Go语法转义 fmt.Printf("%q ", 0x4e2d) //十六进制表示,字母形式为小写a-f fmt.Printf("%x ", 13) //十六进制表示,字母形式为小写A-F fmt.Printf("%X ", 13) //字符串与字节 切片 //输出字符串表示(string类型或[]byte) fmt.Printf("%s ",[]byte("说Go就Go")) //双引号围绕的字符串,由Go语法安全的转义 fmt.Printf("%q ","说Go咱就Go") //指针 fmt.Printf("%p ",&people) //其他标记 只输出ascii编码的字符 fmt.Printf("%+q ","中文") // }