创新互联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.jxjierui.cn/article/cdhcico.html


咨询
建站咨询
