一、什麼是格式化輸出?
二、有哪些符號
普通佔位符佔位符說明舉例輸出%v 相應值的預設格式。printf("%v",people),%+v 列印結構體時,會新增欄位名printf("%+v",people)%#v 相應值的go語法表示 printf("#v", people) main.human%t 相應值的型別的go語法表示printf("%t",people)main.human%%字面上的百分號,並非值的佔位符printf("%%")%
布林佔位符佔位符說明舉例輸出%t true或false。printf("%t",true)true
整數佔位符佔位符說明舉例輸出%b 二進位制表示printf("%b",5)101%c 相應unicode碼點所表示的字元printf("%c",0x4e2d)中%d 十進位制表示printf("%d",0x12)18%o 八進位制表示printf("%d",10)12%q 單引號圍繞的字元字面值,由go語法安全地轉義printf("%q",0x4e2d)'中'%x 十六進製制表示,字母形式為小寫a-f printf("%x",13)d%x 十六進製制表示,字母形式為大寫a-f printf("%x",13)d
%u unicode格式:u+1234,等同於"u+%04x"printf("%u",0x4e2d)u+4e2d
字串與位元組切片佔位符說明舉例輸出%s 輸出字串表示(string型別或byte)printf("%s",byte("go語言"))go語言%q 雙引號圍繞的字串,由go語法安全地轉義printf("%q","go語言")"go語言"%x 十六進製制,小寫字母,每位元組兩個字元printf("%x","golang")676f6c616e67%x 十六進製制,大寫字母,每位元組兩個字元printf("%x","golang")676f6c616e67
其它標記佔位符說明舉例輸出+總列印數值的正負號;對於%q(%+q)保證只輸出ascii編碼的字元。printf("%+q","中文")"\u4e2d\u6587"-在右側而非左側填充空格(左對齊該區域)# 備用格式:為八進位制新增前導 0(%#o) printf("%#u", '中') u+4e2d為十六進製制新增前導0x(%#x)或 0x(%#x),為 %p(%#p)去掉前導 0x;如果可能的話,%q(%#q)會列印原始 (即反引號圍繞的)字串;如果是可列印字元,%u(%#u)會寫出該字元的unicode編碼形式(如字元x 會被列印成u+0078'x')。' '(空格)為數值中省略的正負號留出空白(%d);以十六進製制(%x,%x)列印字串或切片時,在位元組之間用空格隔開0填充前導的0而非空格;對於數字,這會將填充移到正負號之後
go 格式化輸出
參考文章 go語言fmt包printf方法詳解 t 變數的型別資訊 v 變數的位址 p 帶0x的指標 p 不帶0x的指標 t bool,布林型 d 整數 0nd 規定輸出長度為n的整數,其中開頭的數字 0 是必須的,如果整數長度小於n,則用0補齊 b 2進製形式 o 8進製形式 x 16進製制形式,...
go語言 格式化輸出
格式 含義 乙個 字面量 b乙個二進位制整數值 基數為2 或者是乙個 高階的 用科學計數法表示的指數為2的浮點數 c字元型。可以把輸入的數字按照ascii碼相應轉換為對應的字元 d乙個十進位制數值 基數為10 e以科學記數法e表示的浮點數或者復數值 e以科學記數法e表示的浮點數或者復數值 f以標準記...
GO語言學習 格式化輸出
列印格式 含義 b 乙個二進位制整數值 基數為2 或者是乙個 高階的 用科學計數法表示的指數為2的浮點數 c字元型。可以把輸入的數字按照ascii碼相應轉換為對應的字元 d 乙個十進位制數值 基數為10 e以科學記數法e表示的浮點數或者復數值 f 以標準記數法表示的浮點數或者復數值 g以 e或者 f...