(Go)15.golang printf 格式化輸出


Printf 格式化輸出
通用占位符:
v 值的默認格式。
%+v 添加字段名(如結構體)
%#v  相應值的Go語法表示
%T 相應值的類型的Go語法表示
%% 字面上的百分號,並非值的占位符 
布爾值:
%t truefalse
整數值:
%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進行替代(但是不推薦使用)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM