Go語(yǔ)言占位符的使用
Golang 的字符串占位符在 fmt 包的各種打印函數(shù)中使用,如 fmt.Printf、fmt.Sprintf。
變量值與類(lèi)型的打印
%v: 打印變量的值
%v會(huì)根據(jù)變量的類(lèi)型選擇合適的格式進(jìn)行打印。- 對(duì)于結(jié)構(gòu)體,
%v會(huì)打印出結(jié)構(gòu)體的字段。 - 對(duì)于指針類(lèi)型,會(huì)打印出指針指向的值。
%T: 打印變量的類(lèi)型
%T會(huì)打印出變量的具體類(lèi)型。
x := 42
y := "hello"
z := 3.14
fmt.Printf("x: %v, 類(lèi)型: %T\n", x, x)
fmt.Printf("y: %v, 類(lèi)型: %T\n", y, y)
fmt.Printf("z: %v, 類(lèi)型: %T\n", z, z)
運(yùn)行如上代碼,輸出
x: 42, 類(lèi)型: int
y: hello, 類(lèi)型: string
z: 3.14, 類(lèi)型: float64
整數(shù)
%d 十進(jìn)制表示%b 二進(jìn)制表示%o 八進(jìn)制表示%x、%X 十六進(jìn)制表示(%x 小寫(xiě)字母、%X 大寫(xiě)字母)
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)制(小寫(xiě)): %x\n", n)
fmt.Printf("十六進(jìn)制(大寫(xiě)): %X\n", n)
運(yùn)行如上代碼,輸出
十進(jìn)制: 42
二進(jìn)制: 101010
八進(jìn)制: 52
十六進(jìn)制(小寫(xiě)): 2a
十六進(jìn)制(大寫(xiě)): 2A
浮點(diǎn)數(shù)和整數(shù)
%f 有小數(shù)點(diǎn)的十進(jìn)制表示%e、%E 科學(xué)計(jì)數(shù)法%g, %G: 根據(jù)情況選擇 %f 或 %e (%g 使用小寫(xiě)字母,%G 使用大寫(xiě)字母)
f := 3.1415926
fmt.Printf("浮點(diǎn)數(shù): %f\n", f)
fmt.Printf("科學(xué)計(jì)數(shù)法(小寫(xiě)): %e\n", f)
fmt.Printf("科學(xué)計(jì)數(shù)法(大寫(xiě)): %E\n", f)
運(yùn)行如上代碼,輸出
浮點(diǎn)數(shù): 3.141593
科學(xué)計(jì)數(shù)法(小寫(xiě)): 3.141593e+00
科學(xué)計(jì)數(shù)法(大寫(xiě)): 3.141593E+00
字符串和字節(jié)切片
%s: 直接輸出字符串或字節(jié)切片%q: 使用雙引號(hào)括起來(lái)的字符串%x, %X: 每個(gè)字節(jié)用兩字符的十六進(jìn)制表示
s := "hello"
fmt.Printf("字符串: %s\n", s)
fmt.Printf("帶引號(hào)的字符串: %q\n", s)
fmt.Printf("每個(gè)字節(jié)用十六進(jìn)制表示(小寫(xiě)): %x\n", s)
fmt.Printf("每個(gè)字節(jié)用十六進(jìn)制表示(大寫(xiě)): %X\n", s)
運(yùn)行如上代碼,輸出
字符串: hello
帶引號(hào)的字符串: "hello"
每個(gè)字節(jié)用十六進(jìn)制表示(小寫(xiě)): 68656c6c6f
每個(gè)字節(jié)用十六進(jìn)制表示(大寫(xiě)): 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
其他
%%: 字面上的百分號(hào)(%)%U: Unicode 格式:U+1234%c: 字符(對(duì)應(yīng) Unicode 碼點(diǎn))%v, %+v, %#v: 通用的占位符%v: 值的默認(rèn)格式表示%+v: 類(lèi)似 %v,但會(huì)打印結(jié)構(gòu)體的字段名%#v: 值的 Go 語(yǔ)言語(yǔ)法表示
fmt.Printf("百分號(hào): 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語(yǔ)言語(yǔ)法表示: %#v\n", person)
運(yùn)行如上代碼,輸出
百分號(hào): 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語(yǔ)言語(yǔ)法表示: main.Person{Name:"Alice", Age:30}
到此這篇關(guān)于Go語(yǔ)言占位符的使用的文章就介紹到這了,更多相關(guān)Go語(yǔ)言占位符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
go?原子操作的方式及實(shí)現(xiàn)原理全面深入解析
這篇文章主要為大家介紹了go?原子操作的方式及實(shí)現(xiàn)原理深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Golang使用pprof檢查內(nèi)存泄漏的全過(guò)程
pprof 是golang提供的一款分析工具,可以分析CPU,內(nèi)存的使用情況,本篇文章關(guān)注它在分析內(nèi)存泄漏方面的應(yīng)用,本文給大家介紹了Golang使用pprof檢查內(nèi)存泄漏的全過(guò)程,文中通過(guò)代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
從零封裝Gin框架實(shí)現(xiàn)日志初始化及切割歸檔功能
這篇文章主要為大家介紹了從零封裝Gin框架實(shí)現(xiàn)日志初始化及切割歸檔功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
詳解Go語(yǔ)言中pprof性能分析與debug調(diào)試技巧
在Go語(yǔ)言開(kāi)發(fā)中,pprof 性能分析與 debug 技巧是高性能 Go 程序開(kāi)發(fā)的重要部分,下面是詳細(xì)講解,適用于性能瓶頸排查、CPU 和內(nèi)存分析、以及服務(wù)調(diào)試2025-06-06
初學(xué)Go必備的vscode插件及最常用快捷鍵和代碼自動(dòng)補(bǔ)全
這篇文章主要給大家介紹了關(guān)于初學(xué)vscode寫(xiě)Go必備的vscode插件及最常用快捷鍵和代碼自動(dòng)補(bǔ)全的相關(guān)資料,由于vscode是開(kāi)源免費(fèi)的,而且開(kāi)發(fā)支持vscode的插件相對(duì)比較容易,更新速度也很快,需要的朋友可以參考下2023-07-07
基于Golang+Vue編寫(xiě)一個(gè)手機(jī)遠(yuǎn)程控制電腦的懶人工具
這篇文章主要為大家詳細(xì)介紹了如何基于Golang+Vue編寫(xiě)一個(gè)手機(jī)遠(yuǎn)程控制電腦的懶人工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-11-11
GO接收GET/POST參數(shù)及發(fā)送GET/POST請(qǐng)求的實(shí)例詳解
這篇文章主要介紹了GO接收GET/POST參數(shù)及發(fā)送GET/POST請(qǐng)求,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
詳解如何使用Go語(yǔ)言進(jìn)行文件監(jiān)控和通知
在Go語(yǔ)言中,文件監(jiān)控通常涉及到文件系統(tǒng)事件的監(jiān)聽(tīng),文件或目錄的狀態(tài)發(fā)生變化(如創(chuàng)建、刪除、修改等)時(shí),你的程序需要得到通知,所以本文給大家介紹了如何使用Go語(yǔ)言進(jìn)行文件監(jiān)控和通知,需要的朋友可以參考下2024-06-06

