golang fmt格式「佔位符」

2021-10-12 21:26:19 字數 3036 閱讀 1260

# 定義示例型別和變數

type human struct

var people = human

普通佔位符

佔位符 說明 舉例 輸出

%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

浮點數和複數的組成部分(實部和虛部)

佔位符 說明 舉例 輸出

%b 無小數部分的,指數為二的冪的科學計數法,

與 strconv.formatfloat 的 'b' 轉換格式一致。例如 -123456p-78

%e 科學計數法,例如 -1234.456e+78 printf("%e", 10.2) 1.020000e+01

%e 科學計數法,例如 -1234.456e+78 printf("%e", 10.2) 1.020000e+01

%f 有小數點而無指數,例如 123.456 printf("%f", 10.2) 10.200000

%g 根據情況選擇 %e 或 %f 以產生更緊湊的(無末尾的0)輸出 printf("%g", 10.20) 10.2

%g 根據情況選擇 %e 或 %f 以產生更緊湊的(無末尾的0)輸出 printf("%g", 10.20+2i) (10.2+2i)

字串與位元組切片

佔位符 說明 舉例 輸出

%s 輸出字串表示(string型別或byte) printf("%s", byte("go語言")) go語言

%q 雙引號圍繞的字串,由go語法安全地轉義 printf("%q", "go語言") "go語言"

%x 十六進製制,小寫字母,每位元組兩個字元 printf("%x", "golang") 676f6c616e67

%x 十六進製制,大寫字母,每位元組兩個字元 printf("%x", "golang") 676f6c616e67

指標佔位符 說明 舉例 輸出

%p 十六進製制表示,字首 0x printf("%p", &people) 0x4f57f0\

其它標記

佔位符 說明 舉例 輸出

+ 總列印數值的正負號;對於%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而非空格;對於數字,這會將填充移到正負號之後

golang fmt格式「佔位符」

golang 的fmt 包實現了格式化i o函式,類似於c的 printf 和 scanf。定義示例型別和變數type humanstructvar people human 普通佔位符佔位符說明舉例輸出 v 相應值的預設格式。printf v people v 列印結構體時,會新增欄位名print...

golang fmt格式「佔位符」

golang 的fmt 包實現了格式化i o函式,類似於c的 printf 和 scanf。定義示例型別和變數type humanstructvar people human 普通佔位符佔位符說明舉例輸出 v 相應值的預設格式。printf v people v 列印結構體時,會新增欄位名print...

C語言佔位符 格式佔位符

d,i 代表整數,f 浮點數,s 字串,c char.p 指標,fl 長log,e 科學計數法,g 小數或科學計數法。a,a讀入乙個浮點值 僅c99有效 c讀入乙個字元 d讀入十進位制整數 i讀入十進位制,八進位制,十六進製制整數 o讀入八進位制整數 x,x讀入十六進製制整數 s讀入乙個字串,遇空格...