面试题答案
一键面试- 反射获取标签的步骤:
- 获取结构体类型对象:使用
reflect.TypeOf
函数获取结构体的类型对象。 - 获取结构体字段:通过类型对象的
FieldByName
方法获取指定字段的信息。 - 获取标签值:从字段信息中获取
json
标签的值。
- 获取结构体类型对象:使用
- 代码示例:
package main
import (
"fmt"
"reflect"
)
type Person struct {
Name string `json:"name"`
Age int
}
func main() {
var p Person
t := reflect.TypeOf(p)
field, ok := t.FieldByName("Name")
if ok {
jsonTag := field.Tag.Get("json")
fmt.Println(jsonTag)
}
}