Go語言的標(biāo)準(zhǔn)輸出流在打印到屏幕時(shí)有些參數(shù)跟別的語言(比如C#和Java)不同,下面是我整理的一些常用的格式化輸入操作。
General
-
%v以默認(rèn)的方式打印變量的值 -
%T打印變量的類型
Integer
-
%+d帶符號(hào)的整型,fmt.Printf("%+d", 255)輸出+255 -
%q打印單引號(hào) -
%o不帶零的八進(jìn)制 -
%#o帶零的八進(jìn)制 -
%x小寫的十六進(jìn)制 -
%X大寫的十六進(jìn)制 -
%#x帶0x的十六進(jìn)制 -
%U打印Unicode字符 -
%#U打印帶字符的Unicode -
%b打印整型的二進(jìn)制
Integer width
-
%5d表示該整型最大長度是5,下面這段代碼fmt.Printf("|%5d|", 1) fmt.Printf("|%5d|", 1234567)
輸出結(jié)果如下:
| 1|
|1234567|
-
%-5d則相反,打印結(jié)果會(huì)自動(dòng)左對(duì)齊 -
%05d會(huì)在數(shù)字前面補(bǔ)零。
Float
-
%f(=%.6f) 6位小數(shù)點(diǎn) -
%e(=%.6e) 6位小數(shù)點(diǎn)(科學(xué)計(jì)數(shù)法) -
%g用最少的數(shù)字來表示 -
%.3g最多3位數(shù)字來表示 -
%.3f最多3位小數(shù)來表示
String
-
%s正常輸出字符串 -
%q字符串帶雙引號(hào),字符串中的引號(hào)帶轉(zhuǎn)義符 -
%#q字符串帶反引號(hào),如果字符串內(nèi)有反引號(hào),就用雙引號(hào)代替 -
%x將字符串轉(zhuǎn)換為小寫的16進(jìn)制格式 -
%X將字符串轉(zhuǎn)換為大寫的16進(jìn)制格式 -
% x帶空格的16進(jìn)制格式
String Width (以5做例子)
-
%5s最小寬度為5 -
%-5s最小寬度為5(左對(duì)齊) -
%.5s最大寬度為5 -
%5.7s最小寬度為5,最大寬度為7 -
%-5.7s最小寬度為5,最大寬度為7(左對(duì)齊) -
%5.3s如果寬度大于3,則截?cái)?/li> -
%05s如果寬度小于5,就會(huì)在字符串前面補(bǔ)零
Struct
-
%v正常打印。比如:{sam {12345 67890}} -
%+v帶字段名稱。比如:{name:sam phone:{mobile:12345 office:67890} -
%#v用Go的語法打印。
比如main.People{name:”sam”, phone:main.Phone{mobile:”12345”, office:”67890”}}
Boolean
-
%t打印true或false
Pointer
-
%p帶0x的指針 -
%#p不帶0x的指針