Go語言fmt包Printf方法詳解

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的指針

參考

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

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

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