golang数据结构的标签

来源:互联网 发布:龙华淘宝电商 编辑:程序博客网 时间:2024/06/10 02:10

golang的结构体不止只有结构类型,还有一个标签, 当两个相同结构类型,相同数值都相同的时候, 标签不同, 其俩对象也不相同。

使用方式为反射机制。

package mainimport (    "fmt"    "reflect")type resume struct {    Name string `json:"name" doc:"我的名字"`}func findDoc(stru interface{}) map[string]string {    t := reflect.TypeOf(stru).Elem()    doc := make(map[string]string)    for i := 0; i < t.NumField(); i++ {        doc[t.Field(i).Tag.Get("json")] = t.Field(i).Tag.Get("doc")    }    return doc}func main() {    var stru resume    doc := findDoc(&stru)    fmt.Printf("name字段为:%s\n", doc["name"])}


0 0
原创粉丝点击