Printf 格式化輸出 通用占位符: v 值的默認格式。 %+v 添加字段名(如結構體) %#v 相應值的Go語法表示 %T 相應值的類型的Go語法表示 %% 字面上的百分號,並非值的占位符 布爾值: %t true 或 false 整數值: %b 二進制表示 %c 相應Unicode碼點所表示的字符 %d 十進制表示 %o 八進制表示 %q 單引號圍繞的字符字面值,由Go語法安全地轉義 %x 十六進制表示,字母形式為小寫 a-f %X 十六進制表示,字母形式為大寫 A-F %U Unicode格式:U+1234,等同於 "U+%04X" 浮點數及復數: %b 無小數部分的,指數為二的冪的科學計數法,與 strconv.FormatFloat中的 'b' 轉換格式一致。例如 -123456p-78 %e 科學計數法,例如 -1234.456e+78 %E 科學計數法,例如 -1234.456E+78 %f 有小數點而無指數,例如 123.456 %g 根據情況選擇 %e 或 %f 以產生更緊湊的(無末尾的0)輸出 %G 根據情況選擇 %E 或 %f 以產生更緊湊的(無末尾的0)輸出 字符串和bytes的slice表示: %s 字符串或切片的無解譯字節 %q 雙引號圍繞的字符串,由Go語法安全地轉義 %x 十六進制,小寫字母,每字節兩個字符 %X 十六進制,大寫字母,每字節兩個字符 指針: %p 十六進制表示,前綴 0x 這里沒有 'u' 標記。若整數為無符號類型,他們就會被打印成無符號的。類似地,這里也不需要指定操作數的大小(int8,int64)。 對於%v來說默認的格式是: bool: %t int, int8 etc.: %d uint, uint8 etc.: %d, %x if printed with %#v float32, complex64, etc: %g string: %s chan: %p pointer: %p 由此可以看出,默認的輸出格式可以使用%v進行指定,除非輸出其他與默認不同的格式,否則都可以使用%v進行替代(但是不推薦使用)