package main
import (
"fmt"
"reflect"
)
type Student struct {
Name string `tag1:"stu_name" tag2:"1001"`
Num string `tag1:"stu_num"`
}
func main() {
yong := Student{"thinking", "No.10001"}
val := reflect.ValueOf(&yong)
val = val.Elem()
for i := 0; i < val.NumField(); i++ {
field := val.Type().Field(i)
field_name := field.Name
field_type := field.Type.Name()
field_value := val.FieldByName(field_name).String()
tag1 := field.Tag.Get("tag1")
tag2 := field.Tag.Get("tag2")
fmt.Println(field_name, "-->", field_type, "-->", field_value, "-->", tag1, "-->", tag2)
}
}
Name --> string --> thinking --> stu_name --> 1001
Num --> string --> No.10001 --> stu_num -->