创新互联GoFrame教程:GoFrame元数据-gmeta

基本介绍

主要用于嵌入到用户自定义的结构体中,并且通过标签的形式给​gmeta​包的结构体打上自定义的标签内容(元数据),并在运行时可以特定方法动态获取这些自定义的标签内容。

创新互联从2013年创立,先为攸县等服务建站,攸县等地企业,进行企业商务咨询服务。为攸县企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

使用方式:

import "github.com/GOgf/gf/v2/util/gmeta"

接口文档:

https://pkg.go.dev/github.com/gogf/gf/v2/util/gmeta

方法列表:

func Data(object interface{}) map[string]interface{}
func Get(object interface{}, key string) *gvar.Var

使用示例

Data方法

Data​方法用于获取指定​struct​对象的元数据标签,构成​map​返回。

package main

import (
	"fmt"
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/util/gmeta"
)

func main() {
	type User struct {
		gmeta.Meta `orm:"user" db:"mysql"`
		Id         int
		Name       string
	}
	g.Dump(gmeta.Data(User{}))
}

执行后,终端输出:

{
    "db": "mysql",
    "orm": "user"
}

Get方法

Get​方法用于获取指定​struct​对象中指定名称的元数据标签信息。

package main

import (
	"fmt"
	"github.com/gogf/gf/v2/util/gmeta"
)

func main() {
	type User struct {
		gmeta.Meta `orm:"user" db:"mysql"`
		Id         int
		Name       string
	}
	user := User{}
	fmt.Println(gmeta.Get(user, "orm").String())
	fmt.Println(gmeta.Get(user, "db").String())
}

执行后,终端输出:

user
mysql

网站标题:创新互联GoFrame教程:GoFrame元数据-gmeta
文章来源:http://www.shufengxianlan.com/qtweb/news47/484997.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联