日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Golang中的結(jié)構(gòu)體標(biāo)簽StructTag詳解

Struct Tag

在Golang中,結(jié)構(gòu)體標(biāo)記(Struct Tag),也稱為結(jié)構(gòu)體注釋(Struct Annotation),是一種對(duì)Go結(jié)構(gòu)體中的字段進(jìn)行元數(shù)據(jù)附加的機(jī)制。這些標(biāo)記是用反引號(hào)(`)包裹起來(lái)的鍵值對(duì),可以在運(yùn)行時(shí)通過(guò)反射機(jī)制獲取并處理。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比興山網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式興山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋興山地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

結(jié)構(gòu)體標(biāo)記使用key:"value"的格式來(lái)定義,其中key是標(biāo)記的名稱,value是該標(biāo)記的值。一個(gè)結(jié)構(gòu)體字段可以有多個(gè)標(biāo)記,每個(gè)標(biāo)記之間使用空格分隔。

使用方法和代碼示例

看一個(gè)例子:

type User struct {
    Name string `json:"name"`
    Age int `json:"age"`
}

注意如上結(jié)構(gòu)體中反引號(hào)引起來(lái)的內(nèi)容就是Golang中的Struct Tag,接下來(lái)看一下它的作用,如果輸出json格式

u := &User{Name: "xiaohong", Age: "18"}
j, _ := json.Marshal(u)
fmt.Println(string(j))

輸出如下內(nèi)容

{"name": "xiaohong","age": 18}

如果去掉StructTag會(huì)輸出什么呢,看如下例子:

type User struct {
  Name string
  Age int
}
u := &User{Name: "xiaohong", Age: "18"}
j, _ := json.Marshal(u)
fmt.Println(string(j))

輸出如下內(nèi)容:

{"Name": "xiaohong","Age": 18}

可以看出加上Struct Tag后,輸出的內(nèi)容跟著發(fā)生了變化。所以Struct Tag通常是用來(lái)在將struct編碼轉(zhuǎn)換的過(guò)程中提供一些轉(zhuǎn)換規(guī)則信息.

一般來(lái)講,Tag 都是以 key:"value" 鍵值對(duì)的形式,如果有多個(gè)鍵值對(duì),用空格分隔:

type User struct {
    Name string `json:"name" xml:"name"`
}

key 一般指的是要使用的包名,比如這里的json表示這個(gè)Name字段會(huì)被 ```encoding/json```包使用和處理。

Struct Tag可以使用reflect包中的方法來(lái)獲取, Struct Tag是string基本類型的別名:type StructTag string,約定俗成的規(guī)則是以 key:"value" 這樣的鍵值對(duì)。

// 獲取tag中的內(nèi)容
u := &User{Name: "xiaohong", Age: "18"}
t := reflect.TypeOf(u)
field := t.Elem().Field(0)
fmt.Println(field.Tag.Get("json"))

輸出內(nèi)容如下:

name

新聞標(biāo)題:Golang中的結(jié)構(gòu)體標(biāo)簽StructTag詳解
網(wǎng)站路徑:http://www.dlmjj.cn/article/dhpoisi.html