最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang占位符%v、%+v、%#v舉例詳解

 更新時(shí)間:2024年05月30日 09:36:08   作者:alden_ygq  
這篇文章主要給大家介紹了關(guān)于golang占位符%v、%+v、%#v的相關(guān)資料,Go語言中的占位符通常用于格式化輸出,它們以%開頭,后跟一個(gè)字符,表示要轉(zhuǎn)換的數(shù)據(jù)類型,需要的朋友可以參考下
package main

import "fmt"

type Person struct {
  Name string
  Age  int
}

func main() {
  person := Person{
    Name: "test",
    Age:  15,
  }
  fmt.Printf("%v\n", person)
  fmt.Printf("%+v\n", person)
  fmt.Printf("%#v\n", person)
}

執(zhí)行輸出如下:

{test 15}</code><code>{Name:test Age:15}</code><code>main.Person{Name:"test", Age:15}

1 占位符%v、%+v、%#v說明

占位符     說明          
%v      輸出所有的值信息 
%+v     打印結(jié)構(gòu)體時(shí)會打印字段名
%#v     相應(yīng)值的Go語法表示

2 其他占位符說明

2.1 布爾

占位符       說明                舉例                     輸出
%t          true 或 false。Printf("%t", true)       true

2.2 整數(shù)

占位符     說明                                  舉例                       輸出
%b      二進(jìn)制表示                             Printf("%b", 5)             101
%c      相應(yīng)Unicode碼點(diǎn)所表示的字符              Printf("%c", 0x4E2D)        中
%d      十進(jìn)制表示                             Printf("%d", 0x12)          18
%o      八進(jìn)制表示                             Printf("%d", 10)            12
%q      單引號圍繞的字符字面值,由Go語法安全地轉(zhuǎn)義  Printf("%q", 0x4E2D)        '中'
%x      十六進(jìn)制表示,字母形式為小寫 a-f          Printf("%x", 13)             d
%X      十六進(jìn)制表示,字母形式為大寫 A-F          Printf("%x", 13)             D
%U      Unicode格式:U+1234,等同于 "U+%04X"    Printf("%U", 0x4E2D)         U+4E2D

2.3 字符串以及字節(jié)切片

占位符          說明                              舉例                           輸出
%s      輸出字符串表示(string類型或[]byte)    Printf("%s", []byte("Go語言"))  Go語言
%q      雙引號圍繞的字符串,由Go語法安全地轉(zhuǎn)義   Printf("%q", "Go語言")         "Go語言"
%x      十六進(jìn)制,小寫字母,每字節(jié)兩個(gè)字符       Printf("%x", "golang")       676f6c616e67
%X      十六進(jìn)制,大寫字母,每字節(jié)兩個(gè)字符       Printf("%X", "golang")       676F6C616E67

2.4 指針

占位符         說明                      舉例                             輸出
%p      十六進(jìn)制表示,前綴 0x          Printf("%p", &people)             0x4f57f0

2.5 浮點(diǎn)數(shù)與復(fù)數(shù)

占位符     說明                              舉例            輸出
%b      無小數(shù)部分的,指數(shù)為二的冪的科學(xué)計(jì)數(shù)法,
        與 strconv.FormatFloat 的 'b' 轉(zhuǎn)換格式一致。例如 -123456p-78
%e      科學(xué)計(jì)數(shù)法,例如 -1234.456e+78        Printf("%e", 10.2)     1.020000e+01
%E      科學(xué)計(jì)數(shù)法,例如 -1234.456E+78        Printf("%e", 10.2)     1.020000E+01
%f      有小數(shù)點(diǎn)而無指數(shù),例如 123.456        Printf("%f", 10.2)     10.200000
%g      根據(jù)情況選擇 %e 或 %f 以產(chǎn)生更緊湊的(無末尾的0)輸出 Printf("%g", 10.20)   10.2
%G      根據(jù)情況選擇 %E 或 %f 以產(chǎn)生更緊湊的(無末尾的0)輸出 Printf("%G", 10.20+2i) 

附:go語言結(jié)構(gòu)體打印時(shí),%v 和 %+v 的區(qū)別

在 Go 語言中,%v 和 %+v 都是格式化打印結(jié)構(gòu)體的占位符。它們的區(qū)別如下:

  • %v:默認(rèn)格式化打印結(jié)構(gòu)體,只輸出結(jié)構(gòu)體的所有字段值,字段之間以空格隔開。
  • %+v:格式化打印結(jié)構(gòu)體,會輸出結(jié)構(gòu)體類型和字段名稱,字段之間以空格隔開。

例如,假設(shè)有一個(gè)結(jié)構(gòu)體 Person 定義如下:

Go

type Person struct {
  Name string
  Age int
}

如果定義了一個(gè) Person 類型的變量 p,并使用 fmt.Println() 函數(shù)打印它,則輸出結(jié)果如下:

Go

p := Person{Name: "John Doe", Age: 30}

fmt.Println(p) // {John Doe 30}

使用 %v 占位符打印結(jié)構(gòu)體,只會輸出結(jié)構(gòu)體的所有字段值,即 John Doe 和 30。

如果使用 %+v 占位符打印結(jié)構(gòu)體,則會輸出結(jié)構(gòu)體類型和字段名稱,即 Person{Name: John Doe, Age: 30}

總結(jié):

  • %v:默認(rèn)格式化打印結(jié)構(gòu)體,只輸出字段值。
  • %+v:格式化打印結(jié)構(gòu)體,輸出結(jié)構(gòu)體類型和字段名稱。

根據(jù)需要選擇合適的占位符來打印結(jié)構(gòu)體。

總結(jié) 

到此這篇關(guān)于golang占位符%v、%+v、%#v舉例詳解的文章就介紹到這了,更多相關(guān)go占位符%v、%+v、%#v內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go語言內(nèi)置包的使用

    Go語言內(nèi)置包的使用

    本文主要介紹了Go語言內(nèi)置包的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • go帶緩沖chan實(shí)現(xiàn)消息隊(duì)列功能

    go帶緩沖chan實(shí)現(xiàn)消息隊(duì)列功能

    本文主要介紹了go帶緩沖chan實(shí)現(xiàn)消息隊(duì)列功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Go 1.22對net/http包的路由增強(qiáng)功能詳解

    Go 1.22對net/http包的路由增強(qiáng)功能詳解

    Go 1.22 版本對 net/http 包的路由功能進(jìn)行了增強(qiáng),引入了方法匹配(method matching)和通配符(wildcards)兩項(xiàng)新功能,本文將給大家詳細(xì)的介紹一下Go 1.22對net/http包的路由增強(qiáng)功能,需要的朋友可以參考下
    2024-02-02
  • Go 語言入門學(xué)習(xí)之正則表達(dá)式

    Go 語言入門學(xué)習(xí)之正則表達(dá)式

    這篇文章主要介紹了Go 語言入門學(xué)習(xí)之正則表達(dá)式,文章基于GO語言的相關(guān)資料展開詳細(xì)內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • 深入解析Go語言中for循環(huán)的寫法

    深入解析Go語言中for循環(huán)的寫法

    這篇文章主要介紹了Go語言中for循環(huán)的寫法,是Golang入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • Go語言中關(guān)閉帶緩沖區(qū)的頻道實(shí)例分析

    Go語言中關(guān)閉帶緩沖區(qū)的頻道實(shí)例分析

    這篇文章主要介紹了Go語言中關(guān)閉帶緩沖區(qū)的頻道,實(shí)例分析了帶緩沖區(qū)頻道的原理與用法,以及關(guān)閉帶緩沖區(qū)頻道的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • go從指定的URL下載圖片并保存到本地的代碼實(shí)現(xiàn)

    go從指定的URL下載圖片并保存到本地的代碼實(shí)現(xiàn)

    這段代碼定義了一個(gè)名為 downloadImage 的函數(shù),其目的是從指定的URL下載圖片并保存到本地文件系統(tǒng),本文是對代碼功能的詳細(xì)描述,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • golang結(jié)合mysql設(shè)置最大連接數(shù)和最大空閑連接數(shù)

    golang結(jié)合mysql設(shè)置最大連接數(shù)和最大空閑連接數(shù)

    本文介紹golang?中連接MySQL時(shí),如何設(shè)置最大連接數(shù)和最大空閑連接數(shù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Golang內(nèi)存管理之內(nèi)存逃逸分析

    Golang內(nèi)存管理之內(nèi)存逃逸分析

    逃逸分析是指由編譯器決定內(nèi)存分配的位置,不需要程序員指定,這篇文章主要為大家詳細(xì)介紹了Golang中內(nèi)存逃逸分析的幾種方法,需要的可以參考一下
    2023-07-07
  • 一文詳解Go語言中的Defer機(jī)制

    一文詳解Go語言中的Defer機(jī)制

    在Go語言中,defer是一個(gè)關(guān)鍵字,用于確保資源的清理和釋放,特別是在函數(shù)中創(chuàng)建的資源,下面就跟隨小編一起來了解下Defer機(jī)制的具體使用吧
    2024-11-11

最新評論

奉贤区| 肇源县| 太白县| 舟山市| 建水县| 彩票| 射阳县| 九台市| 灵丘县| 南宫市| 夏河县| 沾益县| 砚山县| 兴宁市| 太仓市| 屏东市| 宜宾市| 长沙县| 读书| 水富县| 安乡县| 嘉兴市| 共和县| 陆川县| 历史| 钟祥市| 吴忠市| 临湘市| 桦南县| 江川县| 满洲里市| 柳河县| 米易县| 海淀区| 定南县| 红桥区| 延吉市| 类乌齐县| 永泰县| 高雄县| 济阳县|