日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame對(duì)象信息-gstructs

基本介紹

?gstructs?組件用于方便獲取結(jié)構(gòu)體的相關(guān)信息。

創(chuàng)新互聯(lián)是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、企業(yè)網(wǎng)站建設(shè),外鏈1元廣告為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。

這是一個(gè)偏底層組件,一般業(yè)務(wù)上很少會(huì)用到,在框架、基礎(chǔ)庫(kù)、中間件編寫中用到。

使用方式:

import "github.com/GOgf/gf/v2/os/gstructs"

接口文檔:

https://pkg.go.dev/github.com/gogf/gf/v2/os/gstructs

常用方法

Fields

  • 說(shuō)明:?Fields ?將輸入?yún)?shù)?in?的 ?Pointer ?屬性的字段以?Field?切片的形式返回。
  • 格式:
Fields(in FieldsInput) ([]Field, error)

  • 示例:
func main() {
	type User struct {
		Id   int
		Name string `params:"name"`
		Pass string `my-tag1:"pass1" my-tag2:"pass2" params:"pass"`
	}
	var user *User
	fields, _ := gstructs.Fields(gstructs.FieldsInput{
		Pointer:         user,
		RecursiveOption: 0,
	})

	g.Dump(fields)
}

// Output:
[
    {
        Value:    "",
        Field:    {
            Name:      "Id",
            PkgPath:   "",
            Type:      "int",
            Tag:       "",
            Offset:    0,
            Index:     [
                0,
            ],
            Anonymous: false,
        },
        TagValue: "",
    },
    {
        Value:    {},
        Field:    {
            Name:      "Name",
            PkgPath:   "",
            Type:      "string",
            Tag:       "params:\"name\"",
            Offset:    8,
            Index:     [
                1,
            ],
            Anonymous: false,
        },
        TagValue: "",
    },
    {
        Value:    {},
        Field:    {
            Name:      "Pass",
            PkgPath:   "",
            Type:      "string",
            Tag:       "my-tag1:\"pass1\" my-tag2:\"pass2\" params:\"pass\"",
            Offset:    24,
            Index:     [
                2,
            ],
            Anonymous: false,
        },
        TagValue: "",
    },
]

TagMapName

  • 說(shuō)明:?TagMapName?從參數(shù)?pointer?中檢索?tag?,并以?map[string]string?的形式返回。  
  • 注意:
    • 參數(shù)?pointer?的類型應(yīng)該是 ?struct/*struct?。
    • 只會(huì)返回可導(dǎo)出的字段(首字母大寫的字段)。
  • 格式:
TagMapName(pointer interface{}, priority []string) (map[string]string, error)

  • 示例:
func main() {
	type User struct {
		Id   int
		Name string `params:"name"`
		Pass string `my-tag1:"pass1" my-tag2:"pass2" params:"pass"`
	}
	var user User
	m, _ := gstructs.TagMapName(user, []string{"params"})

	g.Dump(m)
}

// Output:
{
    "name": "Name",
    "pass": "Pass",
}

標(biāo)題名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame對(duì)象信息-gstructs
網(wǎng)站地址:http://www.5511xx.com/article/cdeeoij.html