Go語(yǔ)言fmt.Sprintf格式化輸出的語(yǔ)法與實(shí)例
格式化在邏輯中非常常用。使用格式化函數(shù),要注意寫(xiě)法:
fmt.Sprintf(格式化樣式, 參數(shù)列表…)
- 格式化樣式:字符串形式,格式化動(dòng)詞以%開(kāi)頭。
- 參數(shù)列表:多個(gè)參數(shù)以逗號(hào)分隔,個(gè)數(shù)必須與格式化樣式中的個(gè)數(shù)一一對(duì)應(yīng),否則運(yùn)行時(shí)會(huì)報(bào)錯(cuò)。
在 Go 語(yǔ)言中,格式化的命名延續(xù)C語(yǔ)言風(fēng)格:
var progress = 2
var target = 8
// 兩參數(shù)格式化
title := fmt.Sprintf("已采集%d個(gè)藥草, 還需要%d個(gè)完成任務(wù)", progress, target)
fmt.Println(title)
pi := 3.14159
// 按數(shù)值本身的格式輸出
variant := fmt.Sprintf("%v %v %v", "月球基地", pi, true)
fmt.Println(variant)
// 匿名結(jié)構(gòu)體聲明, 并賦予初值
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個(gè)藥草, 還需要8個(gè)完成任務(wù)
“月球基地” 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語(yǔ)言中, 使用%d代表整型參數(shù)
下表中標(biāo)出了常用的一些格式化樣式中的動(dòng)詞及功能。
| 動(dòng) 詞 | 功 能 |
|---|---|
| %v | 按值的本來(lái)值輸出 |
| %+v | 在 %v 基礎(chǔ)上,對(duì)結(jié)構(gòu)體字段名和值進(jìn)行展開(kāi) |
| %#v | 輸出 Go 語(yǔ)言語(yǔ)法格式的值 |
| %T | 輸出 Go 語(yǔ)言語(yǔ)法格式的類(lèi)型和值 |
| %% | 輸出 % 本體 |
| %b | 整型以二進(jìn)制方式顯示 |
| %o | 整型以八進(jìn)制方式顯示 |
| %d | 整型以十進(jìn)制方式顯示 |
| %x | 整型以十六進(jìn)制方式顯示 |
| %X | 整型以十六進(jìn)制、字母大寫(xiě)方式顯示 |
| %U | Unicode 字符 |
| %f | 浮點(diǎn)數(shù) |
| %p | 指針,十六進(jìn)制方式顯示 |
總結(jié)
到此這篇關(guān)于Go語(yǔ)言fmt.Sprintf格式化輸出的文章就介紹到這了,更多相關(guān)Go語(yǔ)言fmt.Sprintf格式化輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go中RPC遠(yuǎn)程過(guò)程調(diào)用的實(shí)現(xiàn)
本文主要介紹了Go中RPC遠(yuǎn)程過(guò)程調(diào)用的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
wind10 idea中 go 開(kāi)發(fā)環(huán)境搭建教程圖解
這篇文章主要介紹了wind10 idea中 go 開(kāi)發(fā)環(huán)境搭建過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
深入理解Golang?make和new的區(qū)別及實(shí)現(xiàn)原理
在Go語(yǔ)言中,有兩個(gè)比較雷同的內(nèi)置函數(shù),分別是new和make方法,二者都可以用來(lái)分配內(nèi)存,那他們有什么區(qū)別呢?下面我們就從底層來(lái)分析一下二者的不同。感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助2022-10-10
go運(yùn)算符對(duì)變量和值執(zhí)行操作示例詳解
這篇文章主要為大家介紹了go運(yùn)算符對(duì)變量和值執(zhí)行操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Go中Goroutines輕量級(jí)并發(fā)的特性及效率探究
這篇文章主要為大家介紹了Go中Goroutines輕量級(jí)并發(fā)的特性及效率探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Go語(yǔ)言處理超大字符串型整數(shù)加減經(jīng)典面試詳解
這篇文章主要為大家介紹了Go語(yǔ)言處理超大字符串型整數(shù)加減經(jīng)典面試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Go文件操作(新建打開(kāi)寫(xiě)入讀取刪除關(guān)閉)學(xué)習(xí)筆記
這篇文章主要為大家介紹了Go文件操作(新建打開(kāi)寫(xiě)入讀取刪除關(guān)閉)學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

