Go語言占位符的使用
Golang
的字符串占位符在 fmt
包的各種打印函數(shù)中使用,如 fmt.Printf
、fmt.Sprintf
。
變量值與類型的打印
%v: 打印變量的值
%v
會(huì)根據(jù)變量的類型選擇合適的格式進(jìn)行打印。- 對于結(jié)構(gòu)體,
%v
會(huì)打印出結(jié)構(gòu)體的字段。 - 對于指針類型,會(huì)打印出指針指向的值。
%T: 打印變量的類型
%T
會(huì)打印出變量的具體類型。
x := 42 y := "hello" z := 3.14 fmt.Printf("x: %v, 類型: %T\n", x, x) fmt.Printf("y: %v, 類型: %T\n", y, y) fmt.Printf("z: %v, 類型: %T\n", z, z)
運(yùn)行如上代碼,輸出
x: 42, 類型: int
y: hello, 類型: string
z: 3.14, 類型: float64
整數(shù)
%d
十進(jìn)制表示%b
二進(jìn)制表示%o
八進(jìn)制表示%x
、%X
十六進(jìn)制表示(%x
小寫字母、%X
大寫字母)
n := 42 fmt.Printf("十進(jìn)制: %d\n", n) fmt.Printf("二進(jìn)制: %b\n", n) fmt.Printf("八進(jìn)制: %o\n", n) fmt.Printf("十六進(jìn)制(小寫): %x\n", n) fmt.Printf("十六進(jìn)制(大寫): %X\n", n)
運(yùn)行如上代碼,輸出
十進(jìn)制: 42
二進(jìn)制: 101010
八進(jìn)制: 52
十六進(jìn)制(小寫): 2a
十六進(jìn)制(大寫): 2A
浮點(diǎn)數(shù)和整數(shù)
%f
有小數(shù)點(diǎn)的十進(jìn)制表示%e
、%E
科學(xué)計(jì)數(shù)法%g
, %G
: 根據(jù)情況選擇 %f
或 %e
(%g
使用小寫字母,%G
使用大寫字母)
f := 3.1415926 fmt.Printf("浮點(diǎn)數(shù): %f\n", f) fmt.Printf("科學(xué)計(jì)數(shù)法(小寫): %e\n", f) fmt.Printf("科學(xué)計(jì)數(shù)法(大寫): %E\n", f)
運(yùn)行如上代碼,輸出
浮點(diǎn)數(shù): 3.141593
科學(xué)計(jì)數(shù)法(小寫): 3.141593e+00
科學(xué)計(jì)數(shù)法(大寫): 3.141593E+00
字符串和字節(jié)切片
%s
: 直接輸出字符串或字節(jié)切片%q
: 使用雙引號括起來的字符串%x
, %X
: 每個(gè)字節(jié)用兩字符的十六進(jìn)制表示
s := "hello" fmt.Printf("字符串: %s\n", s) fmt.Printf("帶引號的字符串: %q\n", s) fmt.Printf("每個(gè)字節(jié)用十六進(jìn)制表示(小寫): %x\n", s) fmt.Printf("每個(gè)字節(jié)用十六進(jìn)制表示(大寫): %X\n", s)
運(yùn)行如上代碼,輸出
字符串: hello
帶引號的字符串: "hello"
每個(gè)字節(jié)用十六進(jìn)制表示(小寫): 68656c6c6f
每個(gè)字節(jié)用十六進(jìn)制表示(大寫): 68656C6C6F
指針
%p
: 指針地址
t := 100 p := &t fmt.Printf("指針地址: %p\n", p)
運(yùn)行如上代碼,輸出
指針地址: 0xc00001a128
布爾值
%t
: 布爾值(true
或 false
)
b := true fmt.Printf("布爾值: %t\n", b)
運(yùn)行如上代碼,輸出
布爾值: true
其他
%%
: 字面上的百分號(%
)%U
: Unicode
格式:U+1234
%c
: 字符(對應(yīng) Unicode
碼點(diǎn))%v
, %+v
, %#v
: 通用的占位符%v
: 值的默認(rèn)格式表示%+v
: 類似 %v
,但會(huì)打印結(jié)構(gòu)體的字段名%#v
: 值的 Go
語言語法表示
fmt.Printf("百分號: 100%%\n") // 定義如下 Unicode 字符 var char1 rune = 'A' var char2 rune = '中' var char3 rune = '??' // 使用 %U 格式化輸出 Unicode 碼點(diǎn) fmt.Printf("char1: %c Unicode: %U\n", char1, char1) fmt.Printf("char2: %c Unicode: %U\n", char2, char2) fmt.Printf("char3: %c Unicode: %U\n", char3, char3) type Person struct { Name string Age int } person := Person{ Name: "Alice", Age: 30, } fmt.Printf("值的默認(rèn)格式表示: %v\n", person) fmt.Printf("值帶結(jié)構(gòu)體的字段名表示: %+v\n", person) fmt.Printf("值的Go語言語法表示: %#v\n", person)
運(yùn)行如上代碼,輸出
百分號: 100%
char1: A Unicode: U+0041
char2: 中 Unicode: U+4E2D
char3: ?? Unicode: U+1F60A
值的默認(rèn)格式表示: {Alice 30}
值帶結(jié)構(gòu)體的字段名表示: {Name:Alice Age:30}
值的Go語言語法表示: main.Person{Name:"Alice", Age:30}
到此這篇關(guān)于Go語言占位符的使用的文章就介紹到這了,更多相關(guān)Go語言占位符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go函數(shù)使用(函數(shù)定義、函數(shù)聲明、函數(shù)調(diào)用等)
本文主要介紹了Go函數(shù)使用,包括函數(shù)定義、函數(shù)聲明、函數(shù)調(diào)用、可變參數(shù)函數(shù)、匿名函數(shù)、遞歸函數(shù)、高階函數(shù)等,感興趣的可以了解一下2023-11-11Go語言網(wǎng)站使用異步編程和Goroutine提高Web的性能
作為一門現(xiàn)代化編程語言,Go語言提供了強(qiáng)大的異步編程能力,使得程序員可以以更高效的方式處理并發(fā)任務(wù),在Go語言中,使用Goroutine在單個(gè)進(jìn)程中實(shí)現(xiàn)多任務(wù)并行處理,以及如何使用協(xié)程池來進(jìn)一步提高Web服務(wù)器的處理能力,2024-01-01golang 數(shù)組隨機(jī)排序的實(shí)現(xiàn)
本文主要介紹了golang 數(shù)組隨機(jī)排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12