Go語言fmt包Printf方法詳解(轉(zhuǎn)載)

hello&遠(yuǎn)方 作品

人的出場順序很重要,陪你喝醉的人注定沒辦法送你回家。by 暖小團(tuán)

引用于:http://wufazhuce.com/one/1372

Go語言的標(biāo)準(zhǔn)輸出流在打印到屏幕時有些參數(shù)跟別的語言(比如C#和Java)不同,下面是我整理的一些常用的格式化輸入操作。

General

  • %v以默認(rèn)的方式打印變量的值
  • %T打印變量的類型
  • %q打印基礎(chǔ)類型內(nèi)容

Integer

  • %+d帶符號的整型,fmt.Printf("%+d", 255),輸出+255
  • %q打印單引號
  • %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é)果會自動左對齊
  • %05d會在數(shù)字前面補(bǔ)零。

Float

  • %f(=%.6f) 6位小數(shù)點
  • %e(=%.6e) 6位小數(shù)點(科學(xué)計數(shù)法)
  • %g用最少的數(shù)字來表示
  • %.3g最多3位數(shù)字來表示
  • %.3f最多3位小數(shù)來表示

String

  • %s正常輸出字符串
  • %q字符串帶雙引號,字符串中的引號帶轉(zhuǎn)義符
  • %#q字符串帶反引號,如果字符串內(nèi)有反引號,就用雙引號代替
  • %x將字符串轉(zhuǎn)換為小寫的16進(jìn)制格式
  • %X將字符串轉(zhuǎn)換為大寫的16進(jìn)制格式
  • % x帶空格的16進(jìn)制格式

String Width (以5做例子)

  • %5s最小寬度為5
  • %-5s最小寬度為5(左對齊)
  • %.5s最大寬度為5
  • %5.7s最小寬度為5,最大寬度為7
  • %-5.7s最小寬度為5,最大寬度為7(左對齊)
  • %5.3s如果寬度大于3,則截斷
  • %05s如果寬度小于5,就會在字符串前面補(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的指針

轉(zhuǎn)載于:http://www.itdecent.cn/p/8be8d36e779c

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容