本文整理了Go語言的標準輸出流(fmt.Printf)在打印到屏幕時的格式化輸出操做。post
在這裏按照佔位符將被替換的變量類型劃分,更方便查詢和記憶。spa
General(通用佔位符)
佔位符 |
說明 |
%v |
以默認的方式打印變量的值 |
%T |
打印變量的類型 |
%% |
字面上的百分號,並不是值的佔位符 |
Integer(整型)
佔位符 |
說明 |
%+d |
帶符號的整型 |
%q |
打印單引號 |
%o |
不帶零的八進制 |
%#o |
帶零的八進制 |
%x |
小寫的十六進制 |
%X |
大寫的十六進制 |
%#x |
帶0x的十六進制 |
%U |
打印Unicode字符 |
%#U |
打印帶字符的Unicode |
%b |
打印整型的二進制 |
Integer width(指定長度的整型,以5爲例)
佔位符 |
說明 |
%5d |
整型長度爲5,右對齊,左邊留白 |
%-5d |
左對齊右邊留白 |
%05d |
數字前面補零 |
Float(浮點數)
佔位符 |
說明 |
%f |
(=%.6f) 6位小數點 |
%e |
(=%.6e) 6位小數點(科學計數法) |
%g |
用最少的數字來表示 |
%.3g |
最多3位數字來表示 |
%.3f |
最多3位小數來表示 |
String(字符串)
佔位符 |
說明 |
%s |
正常輸出字符串 |
%q |
字符串帶雙引號,字符串中的引號帶轉義符 |
%#q |
字符串帶反引號,若是字符串內有反引號,就用雙引號代替 |
%x |
將字符串轉換爲小寫的16進制格式 |
%X |
將字符串轉換爲大寫的16進制格式 |
% x |
帶空格的16進制格式 |
String Width (指定長度的字符串,以5爲例)
佔位符 |
說明 |
%5s |
最小寬度爲5 |
%-5s |
最小寬度爲5(左對齊) |
%.5s |
最大寬度爲5 |
%5.7s |
最小寬度爲5,最大寬度爲7 |
%-5.7s |
最小寬度爲5,最大寬度爲7(左對齊) |
%5.3s |
若是寬度大於3,則截斷 |
%05s |
若是寬度小於5,就會在字符串前面補零 |
Struct(結構體)
佔位符 |
說明 |
%v |
以默認的方式打印變量的值 |
%+v |
在打印結構體時,會添加字段名 |
%#v |
在打印結構體時,會添加字段名和包名 |
Boolean(布爾值)
Pointer(指針)
佔位符 |
說明 |
%p |
帶0x的指針 |
%#p |
不帶0x的指針 |