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(布爾值)
| 占位符 | 說明 |
|---|---|
| %t | 打印true或false |
Pointer(指針)
| 占位符 | 說明 |
|---|---|
| %p | 帶0x的指針 |
| %#p | 不帶0x的指針 |
