欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入了解Golang中的格式化輸出

 更新時間:2022年11月18日 15:41:45   作者:PolarDay.  
fmt是Go語言中用于控制文本輸出的常用標準庫,文中將通過示例詳細講解一下Go語言中不同形式的格式化輸出,感興趣的小伙伴可以了解一下

fmt

Go語言用于控制文本輸出常用的標準庫是fmt

fmt中主要用于輸出的函數(shù)有:

  • Print: 輸出到控制臺,不接受任何格式化操作
  • Println: 輸出到控制臺并換行
  • Printf: 格式化輸出,只可以打印出格式化的字符串,只可以直接輸出字符串類型的變量(不可以直接輸出別的類型)
  • Sprintf: 格式化并返回一個字符串而不帶任何輸出
  • Fprintf: 來格式化并輸出到io.Writers而不是os.Stdout

格式化

通過Printf函數(shù)來測試下Go語言里面的字符串格式化:

fmt.Sprintf(格式化樣式, 參數(shù)列表…)

格式樣式: 字符串形式,格式化符號以%開頭,%s字符串格式,%d十進制的整數(shù)格式

參數(shù)列表: 多個參數(shù)以逗號分隔,個數(shù)必須與格式化樣式中的個數(shù)一一對應,否則運行時會報錯

比如:

username := "boy"
fmt.Printf("welcome, %s", username)

整數(shù)格式化

占 位 符描 述
%b整數(shù)以二進制方式顯示
%o整數(shù)以八進制方式顯示
%d整數(shù)以十進制方式顯示
%x整數(shù)以十六進制方式顯示
%X整數(shù)以十六進制、字母大寫方式顯示
%c相應Unicode碼點所表示的字符
%UUnicode字符,Unicode格式:123,等同于“U+007B”
func main() {
    fmt.Printf("%b \n", 123) //1111011
    fmt.Printf("%o \n", 123) //173
    fmt.Printf("%d \n", 123) //123
    fmt.Printf("%x \n", 123) //7b
    fmt.Printf("%X \n", 123) //7B   
    fmt.Printf("%c \n", 123) //{
    fmt.Printf("%U \n", 123) //U+007B 
}

浮點數(shù)格式化

占 位 符描 述
%e科學計數(shù)法,例如 1.234560e+02
%E科學計數(shù)法,例如 1.234560E+02
%f有小數(shù)點而無指數(shù),例如 123.456
%F等價于%f
%g根據(jù)情況選擇 %e 或 %f 以產(chǎn)生更緊湊的(無末尾的0)輸出
%G根據(jù)情況選擇 %E 或 %F 以產(chǎn)生更緊湊的(無末尾的0)輸出
func main() {
    fmt.Printf("%e \n", 123.456) //1.234560e+02
    fmt.Printf("%E \n", 123.456) //1.234560E+02
    fmt.Printf("%f \n", 123.456) //123.456000
    fmt.Printf("%F \n", 123.456) //123.456000
    fmt.Printf("%g \n", 123.456) //123.456
    fmt.Printf("%G \n", 123.456) //123.456 
}

布爾類型格式化

占 位 符描 述
%ttrue 或 false
func main() {
    fmt.Printf("%t", true) //true
}

字符格式化

占 位 符描 述
%c相應Unicode碼點所表示的字符
func main() {
    fmt.Printf("%c", 0x4E2D) //中
}

字符串格式化

占 位 符描 述
%s直接輸出字符串或者[]byte
%q雙引號圍繞的字符串,由Go語法安全地轉(zhuǎn)義
%x每個字節(jié)用兩字符十六進制數(shù)表示(使用a-f)
%X每個字節(jié)用兩字符十六進制數(shù)表示(使用A-F)
func main() {
    fmt.Printf("%s \n", "Hello world") //Hello world
    fmt.Printf("%q \n", "Hello world") //"Hello world"
    fmt.Printf("%x \n", "Hello world") //48656c6c6f20776f726c64
    fmt.Printf("%X \n", "Hello world") //48656C6C6F20776F726C64
}

指針格式化

占 位 符描 述
%p表示為十六進制,并加上前導的0x
%#p表示為十六進制,沒有前導的0x
func main() {
    a := "Hello world"
    b := &a
    fmt.Printf("%p \n", b)  //0xc000046230
    fmt.Printf("%#p \n", b) //c000046230
}

通用占位符

占 位 符描 述
%v值的默認格式
%+v類似%v,但輸出結構體時會添加字段名
%#v相應值的Go語法表示
%T相應值的類型的Go語法表示
%%百分號,字面上的%,非占位符含義
func main() {
    fmt.Printf("%v \n", "Hello World")   //Hello World
    fmt.Printf("%+v \n", "Hello World")  //Hello World
    fmt.Printf("%#v \n", "Hello World")  //"Hello World"
    fmt.Printf("%T \n", "Hello World")   //string
    fmt.Printf("%%%v \n", "Hello World") //%Hello World
}

寬度表示

浮點數(shù)精度控制

寬度通過一個緊跟在百分號后面的十進制數(shù)指定,如果未指定寬度,則表示值時除必需之外不作填充。

精度通過(可選的)寬度后跟點號后跟的十進制數(shù)指定。如果未指定精度,會使用默認精度;如果點號后沒有跟數(shù)字,表示精度為0。舉例如下

func main() {
    fmt.Printf("|%f|\n", 123.456)     //|123.456000|
    fmt.Printf("|%12f|\n", 123.456)   //|  123.456000|
    fmt.Printf("|%.3f|\n", 123.456)   //|123.456|
    fmt.Printf("|%12.3f|\n", 123.456) //|     123.456|
    fmt.Printf("|%12.f|\n", 123.456)  //|         123|
}

字符串長度控制

寬度設置格式:占位符中間加一個數(shù)字, 數(shù)字分正負, +: 右對齊, -: 左對齊

最小寬度:百分號后緊跟十進制數(shù),不夠部分可以選擇補0

最大寬度:小數(shù)點后的十進制數(shù),超出的部分會被截斷

func main() {
    fmt.Printf("|%s|\n", "123.456")    //|123.456|
    fmt.Printf("|%12s|\n", "123.456")  //|     123.456|
    fmt.Printf("|%-12s|\n", "123.456") //|123.456     |
    fmt.Printf("|%012s|\n", "123.456") //|00000123.456|
    fmt.Printf("|%.5s|\n", "123.456")  //|123.4|
}

到此這篇關于深入了解Golang中的格式化輸出的文章就介紹到這了,更多相關Golang格式化輸出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • go版tensorflow安裝教程詳解

    go版tensorflow安裝教程詳解

    這篇文章主要介紹了go版tensorflow安裝教程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Golang中context包使用場景和示例詳解

    Golang中context包使用場景和示例詳解

    這篇文章結合示例代碼介紹了context包的幾種使用場景,文中有詳細的代碼示例,對學習或工作有一定的幫助,需要的朋友可以參考下
    2023-05-05
  • xorm根據(jù)數(shù)據(jù)庫生成go model文件的操作

    xorm根據(jù)數(shù)據(jù)庫生成go model文件的操作

    這篇文章主要介紹了xorm根據(jù)數(shù)據(jù)庫生成go model文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang?Configor配置文件工具的使用詳解

    Golang?Configor配置文件工具的使用詳解

    Configor是一個支持?yaml、json、toml、shell?的配置文件工具,這篇文中主要為大家詳細介紹了Configor的具體使用,感興趣的小伙伴可以學習一下
    2023-08-08
  • Go defer與time.sleep的使用與區(qū)別

    Go defer與time.sleep的使用與區(qū)別

    本文主要介紹了Go defer與time.sleep的使用與區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-04-04
  • 十個示例帶你深入了解Go語言中的接口

    十個示例帶你深入了解Go語言中的接口

    這篇文章主要是通過十個簡單的示例帶大家深入了解一下Go語言中接口的使用,文中的示例代碼簡潔易懂,具有一定的學習價值,需要的可以了解一下
    2023-02-02
  • Go語言基本的語法和內(nèi)置數(shù)據(jù)類型初探

    Go語言基本的語法和內(nèi)置數(shù)據(jù)類型初探

    這篇文章主要介紹了Go語言基本的語法和內(nèi)置數(shù)據(jù)類型,是golang入門學習中的基礎知識,需要的朋友可以參考下
    2015-10-10
  • Go語句與表達式案例手冊深度解析

    Go語句與表達式案例手冊深度解析

    這篇文章主要為大家介紹了Go語句與表達式案例手冊深度解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • golang中defer的使用規(guī)則詳解

    golang中defer的使用規(guī)則詳解

    大家應該都知道在golang當中,defer代碼塊會在函數(shù)調(diào)用鏈表中增加一個函數(shù)調(diào)用。下面這篇文章主要給大家介紹了關于golang中defer的使用規(guī)則,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • go語言中讀取配置文件的方法總結

    go語言中讀取配置文件的方法總結

    這篇文章主要為大家詳細介紹了go語言中讀取配置文件的幾個常見方法,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的小伙伴可以參考下
    2023-08-08

最新評論