Go語(yǔ)言格式化動(dòng)詞使用詳解
Printf() 函數(shù)可以使用多種格式化動(dòng)詞對(duì)輸出進(jìn)行格式化。下面是可以與所有數(shù)據(jù)類(lèi)型一起使用的一些通用格式化動(dòng)詞:
通用格式化動(dòng)詞:以下動(dòng)詞適用于所有數(shù)據(jù)類(lèi)型:
動(dòng)詞 | 描述 |
---|---|
%v | 以默認(rèn)格式打印值 |
%#v | 以 Go 語(yǔ)法格式打印值 |
%T | 打印值的類(lèi)型 |
%% | 打印百分號(hào) |
示例:
package main import ( "fmt" ) func main() { var i = 15.5 var txt = "Hello World!" fmt.Printf("%v\n", i) fmt.Printf("%#v\n", i) fmt.Printf("%v%%\n", i) fmt.Printf("%T\n", i) fmt.Printf("%v\n", txt) fmt.Printf("%#v\n", txt) fmt.Printf("%T\n", txt) }
結(jié)果:
15.5 15.5 15.5% float64 Hello World! "Hello World!" string
整數(shù)格式化動(dòng)詞
以下動(dòng)詞適用于整數(shù)數(shù)據(jù)類(lèi)型:
動(dòng)詞 | 描述 |
---|---|
%b | 二進(jìn)制 |
%d | 十進(jìn)制 |
%+d | 帶符號(hào)的十進(jìn)制 |
%o | 八進(jìn)制 |
%O | 八進(jìn)制(帶 0o 前綴) |
%x | 十六進(jìn)制(小寫(xiě)) |
%X | 十六進(jìn)制(大寫(xiě)) |
%#x | 帶 0x 前綴的十六進(jìn)制 |
%4d | 使用空格填充(寬度 4,右對(duì)齊) |
%-4d | 使用空格填充(寬度 4,左對(duì)齊) |
%04d | 使用零填充(寬度 4) |
示例:
package main import ( "fmt" ) func main() { var i = 15 fmt.Printf("%b\n", i) fmt.Printf("%d\n", i) fmt.Printf("%+d\n", i) fmt.Printf("%o\n", i) fmt.Printf("%O\n", i) fmt.Printf("%x\n", i) fmt.Printf("%X\n", i) fmt.Printf("%#x\n", i) fmt.Printf("%4d\n", i) fmt.Printf("%-4d\n", i) fmt.Printf("%04d\n", i) }
結(jié)果:
1111 15 +15 17 0o17 f F 0xf 15 15 0015
字符串格式化動(dòng)詞
以下動(dòng)詞適用于字符串?dāng)?shù)據(jù)類(lèi)型:
動(dòng)詞 | 描述 |
---|---|
%s | 普通字符串打印 |
%q | 雙引號(hào)包裹的字符串打印 |
%8s | 普通字符串打?。▽挾?8,右對(duì)齊) |
%-8s | 普通字符串打?。▽挾?8,左對(duì)齊) |
%x | 字節(jié)值的十六進(jìn)制轉(zhuǎn)儲(chǔ) |
% x | 帶空格的十六進(jìn)制轉(zhuǎn)儲(chǔ) |
示例:
package main import ( "fmt" ) func main() { var txt = "Hello" fmt.Printf("%s\n", txt) fmt.Printf("%q\n", txt) fmt.Printf("%8s\n", txt) fmt.Printf("%-8s\n", txt) fmt.Printf("%x\n", txt) fmt.Printf("% x\n", txt) }
結(jié)果:
Hello "Hello" Hello Hello 48656c6c6f 48 65 6c 6c 6f
布爾格式化動(dòng)詞
以下動(dòng)詞適用于布爾數(shù)據(jù)類(lèi)型:
動(dòng)詞 | 描述 |
---|---|
%t | 布爾運(yùn)算符的 true 或 false 格式(與 %v 相同) |
示例:
package main import ( "fmt" ) func main() { var i = true var j = false fmt.Printf("%t\n", i) fmt.Printf("%t\n", j) }
結(jié)果:
true false
浮點(diǎn)數(shù)格式化動(dòng)詞
以下動(dòng)詞適用于浮點(diǎn)數(shù)數(shù)據(jù)類(lèi)型:
動(dòng)詞 | 描述 |
---|---|
%e | 科學(xué)計(jì)數(shù)法,指數(shù)為 'e' |
%f | 小數(shù)點(diǎn),無(wú)指數(shù)部分 |
%.2f | 默認(rèn)寬度,精度為 2 |
%6.2f | 寬度 6,精度 2 |
%g | 必要時(shí)使用指數(shù),僅保留必要的位數(shù) |
示例:
package main import ( "fmt" ) func main() { var i = 3.141 fmt.Printf("%e\n", i) fmt.Printf("%f\n", i) fmt.Printf("%.2f\n", i) fmt.Printf("%6.2f\n", i) fmt.Printf("%g\n", i) }
結(jié)果:
3.141000e+00 3.141000 3.14 3.14 3.141
請(qǐng)注意,這個(gè)翻譯可能不是完美的,因?yàn)檎Z(yǔ)言之間的表達(dá)方式可能有細(xì)微的差異。
到此這篇關(guān)于Go語(yǔ)言格式化動(dòng)詞使用詳解的文章就介紹到這了,更多相關(guān)Go 格式化動(dòng)詞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang實(shí)現(xiàn)一個(gè)簡(jiǎn)單的websocket聊天室功能
這篇文章主要介紹了golang實(shí)現(xiàn)一個(gè)簡(jiǎn)單的websocket聊天室功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10一文帶你輕松學(xué)會(huì)Go語(yǔ)言動(dòng)態(tài)調(diào)用函數(shù)
這篇文章主要是帶大家學(xué)習(xí)一下Go語(yǔ)言是如何動(dòng)態(tài)調(diào)用函數(shù)的,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的可以參考下2022-11-11golang并發(fā)編程使用Select語(yǔ)句的實(shí)現(xiàn)
Go語(yǔ)言中的select語(yǔ)句是并發(fā)編程中的重要工具,允許Goroutine等待多個(gè)通道操作,它阻塞直至任一case可執(zhí)行,可用于接收數(shù)據(jù)、實(shí)現(xiàn)超時(shí)機(jī)制和非阻塞通道操作,感興趣的可以了解一下2024-10-10一文教你如何快速學(xué)會(huì)Go的struct數(shù)據(jù)類(lèi)型
結(jié)構(gòu)是表示字段集合的用戶定義類(lèi)型。它可以用于將數(shù)據(jù)分組為單個(gè)單元而不是將每個(gè)數(shù)據(jù)作為單獨(dú)的值的地方。本文就來(lái)和大家聊聊Go中struct數(shù)據(jù)類(lèi)型的使用,需要的可以參考一下2023-03-03Go語(yǔ)言net包RPC遠(yuǎn)程調(diào)用三種方式http與json-rpc及tcp
這篇文章主要為大家介紹了Go語(yǔ)言net包RPC遠(yuǎn)程調(diào)用三種方式分別使用http與json-rpc及tcp的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11Golang實(shí)現(xiàn)四層負(fù)載均衡的示例代碼
做開(kāi)發(fā)的同學(xué)應(yīng)該經(jīng)常聽(tīng)到過(guò)負(fù)載均衡的概念,今天我們就來(lái)實(shí)現(xiàn)一個(gè)乞丐版的四層負(fù)載均衡,并用它對(duì)mysql進(jìn)行負(fù)載均衡測(cè)試,感興趣的可以了解一下2023-07-07