Go語言fmt.Sprintf(格式化輸出)
格式化在邏輯中非常常用。使用格式化函數,要注意寫法:
fmt.Sprintf(格式化樣式, 參數列表…)
- 格式化樣式:字符串形式,格式化動詞以
%
開頭。 - 參數列表:多個參數以逗號分隔,個數必須與格式化樣式中的個數一一對應,否則運行時會報錯。
var` `progress = 2``var` `target = 8``// 兩參數格式化``title := fmt.Sprintf(``"已采集%d個葯草, 還需要%d個完成任務"``, progress, target)``fmt.Println(title)``pi := 3.14159``// 按數值本身的格式輸出``variant := fmt.Sprintf(``"%v %v %v"``, ``"月球基地"``, pi, true)``fmt.Println(variant)``// 匿名結構體聲明, 並賦予初值``profile := &``struct` `{`` ``Name string`` ``HP int``}{`` ``Name: ``"rat"``,`` ``HP: 150,``}``fmt.Printf(``"使用'%%+v' %+v\n"``, profile)``fmt.Printf(``"使用'%%#v' %#v\n"``, profile)``fmt.Printf(``"使用'%%T' %T\n"``, profile)
代碼輸出如下:
已采集2個葯草, 還需要8個完成任務``"月球基地"` `3.14159 true``使用``'%+v'` `&{Name:rat HP:150}``使用``'%#v'` `&``struct` `{ Name string; HP int }{Name:``"rat"``, HP:150}``使用``'%T'` `*``struct` `{ Name string; HP int }C語言中, 使用%d代表整型參數
下表中標出了常用的一些格式化樣式中的動詞及功能。
動 詞 | 功 能 |
---|---|
%v | 按值的本來值輸出 |
%+v | 在 %v 基礎上,對結構體字段名和值進行展開 |
%#v | 輸出 Go 語言語法格式的值 |
%T | 輸出 Go 語言語法格式的類型和值 |
%% | 輸出 % 本體 |
%b | 整型以二進制方式顯示 |
%o | 整型以八進制方式顯示 |
%d | 整型以十進制方式顯示 |
%x | 整型以十六進制方式顯示 |
%X | 整型以十六進制、字母大寫方式顯示 |
%U | Unicode 字符 |
%f | 浮點數 |
%p | 指針,十六進制方式顯示 |
原文 :https://www.cnblogs.com/bainianminguo/articles/10951205.html