Go語言格式化動詞使用詳解
Printf() 函數(shù)可以使用多種格式化動詞對輸出進(jìn)行格式化。下面是可以與所有數(shù)據(jù)類型一起使用的一些通用格式化動詞:
通用格式化動詞:以下動詞適用于所有數(shù)據(jù)類型:
| 動詞 | 描述 |
|---|---|
%v | 以默認(rèn)格式打印值 |
%#v | 以 Go 語法格式打印值 |
%T | 打印值的類型 |
%% | 打印百分號 |
示例:
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ù)格式化動詞
以下動詞適用于整數(shù)數(shù)據(jù)類型:
| 動詞 | 描述 |
|---|---|
%b | 二進(jìn)制 |
%d | 十進(jìn)制 |
%+d | 帶符號的十進(jìn)制 |
%o | 八進(jìn)制 |
%O | 八進(jìn)制(帶 0o 前綴) |
%x | 十六進(jìn)制(小寫) |
%X | 十六進(jìn)制(大寫) |
%#x | 帶 0x 前綴的十六進(jìn)制 |
%4d | 使用空格填充(寬度 4,右對齊) |
%-4d | 使用空格填充(寬度 4,左對齊) |
%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)?shù)據(jù)類型:
| 動詞 | 描述 |
|---|---|
%s | 普通字符串打印 |
%q | 雙引號包裹的字符串打印 |
%8s | 普通字符串打印(寬度 8,右對齊) |
%-8s | 普通字符串打印(寬度 8,左對齊) |
%x | 字節(jié)值的十六進(jìn)制轉(zhuǎn)儲 |
% x | 帶空格的十六進(jìn)制轉(zhuǎn)儲 |
示例:
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
布爾格式化動詞
以下動詞適用于布爾數(shù)據(jù)類型:
| 動詞 | 描述 |
|---|---|
%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ù)格式化動詞
以下動詞適用于浮點(diǎn)數(shù)數(shù)據(jù)類型:
| 動詞 | 描述 |
|---|---|
%e | 科學(xué)計(jì)數(shù)法,指數(shù)為 'e' |
%f | 小數(shù)點(diǎn),無指數(shù)部分 |
%.2f | 默認(rèn)寬度,精度為 2 |
%6.2f | 寬度 6,精度 2 |
%g | 必要時使用指數(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
請注意,這個翻譯可能不是完美的,因?yàn)檎Z言之間的表達(dá)方式可能有細(xì)微的差異。
到此這篇關(guān)于Go語言格式化動詞使用詳解的文章就介紹到這了,更多相關(guān)Go 格式化動詞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語言中的Prometheus監(jiān)控實(shí)戰(zhàn)
本文主要介紹了Go語言中的Prometheus監(jiān)控實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-03-03
GoFrame框架Scan類型轉(zhuǎn)換實(shí)例
這篇文章主要為大家介紹了GoFrame框架Scan類型轉(zhuǎn)換的實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Goland配置leetcode的實(shí)現(xiàn)示例
本文主要介紹了Goland配置leetcode的實(shí)現(xiàn)示例,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
GO語言實(shí)現(xiàn)的http抓包分析工具pproxy介紹
這篇文章主要介紹了GO語言實(shí)現(xiàn)的http抓包分析工具pproxy介紹,本文同時對比了Fiddler、Charles等抓包軟件,需要的朋友可以參考下2015-03-03

