占位符
普通占位符
占位符 說(shuō)明 舉例 輸出
%v 相應(yīng)值的默認(rèn)格式匾二。 Printf("%v", site)爹谭,Printf("%+v", site) {studygolang}歹啼,{Name:studygolang}
在打印結(jié)構(gòu)體時(shí)魄鸦,“加號(hào)”標(biāo)記(%+v)會(huì)添加字段名
%#v 相應(yīng)值的Go語(yǔ)法表示 Printf("#v", site) main.Website{Name:"studygolang"}
%T 相應(yīng)值的類(lèi)型的Go語(yǔ)法表示 Printf("%T", site) main.Website
%% 字面上的百分號(hào),并非值的占位符 Printf("%%") %
布爾占位符
占位符 說(shuō)明 舉例 輸出
%t 單詞 true 或 false。 Printf("%t", true) true
整數(shù)占位符
占位符 說(shuō)明 舉例 輸出
%b 二進(jìn)制表示 Printf("%b", 5) 101
%c 相應(yīng)Unicode碼點(diǎn)所表示的字符 Printf("%c", 0x4E2D) 中
%d 十進(jìn)制表示 Printf("%d", 0x12) 18
%o 八進(jìn)制表示 Printf("%d", 10) 12
%q 單引號(hào)圍繞的字符字面值,由Go語(yǔ)法安全地轉(zhuǎn)義 Printf("%q", 0x4E2D) '中'
%x 十六進(jìn)制表示,字母形式為小寫(xiě) a-f Printf("%x", 13) d
%X 十六進(jìn)制表示窑眯,字母形式為大寫(xiě) A-F Printf("%x", 13) D
%U Unicode格式:U+1234,等同于 "U+%04X" Printf("%U", 0x4E2D) U+4E2D
指針
占位符 說(shuō)明 舉例 輸出
%p 十六進(jìn)制表示医窿,前綴 0x Printf("%p", &site) 0x4f57f0
其它標(biāo)記
占位符 說(shuō)明 舉例 輸出
+ 總打印數(shù)值的正負(fù)號(hào)磅甩;對(duì)于%q(%+q)保證只輸出ASCII編碼的字符。 Printf("%+q", "中文") "\u4e2d\u6587"
- 在右側(cè)而非左側(cè)填充空格(左對(duì)齊該區(qū)域)
# 備用格式:為八進(jìn)制添加前導(dǎo) 0(%#o)姥卢,為十六進(jìn)制添加前導(dǎo) 0x(%#x)或 Printf("%#U", '中') U+4E2D '中'
0X(%#X)更胖,為 %p(%#p)去掉前導(dǎo) 0x;如果可能的話(huà)隔显,%q(%#q)會(huì)打印原始
(即反引號(hào)圍繞的)字符串却妨;如果是可打印字符,%U(%#U)會(huì)寫(xiě)出該字符的
Unicode 編碼形式(如字符 x 會(huì)被打印成 U+0078 'x')括眠。
' ' (空格)為數(shù)值中省略的正負(fù)號(hào)留出空白(% d)彪标;
以十六進(jìn)制(% x, % X)打印字符串或切片時(shí),在字節(jié)之間用空格隔開(kāi)
0 填充前導(dǎo)的0而非空格掷豺;對(duì)于數(shù)字捞烟,這會(huì)將填充移到正負(fù)號(hào)之后