golang 获取 struct 的 tag 内容
golang 获取 tag 的内容是利用反射包来实现的。
1 package main 2 import ( 3 "fmt" 4 "reflect" // 这里引入reflect模块 5 ) 6 type User struct { 7 Name string "user name" //这引号里面的就是tag 8 Passwd string "user passsword" 9 } 10 func main() { 11 user := &User{"chronos", "pass"} 12 s := reflect.TypeOf(user).Elem() //通过反射获取type定义 13 for i := 0; i < s.NumField(); i++ { 14 fmt.Println(s.Field(i).Tag) //将tag输出出来 15 } 16 }
golang.org 中 reflect 的示例代码
1 package main 2 3 import ( 4 "fmt" 5 "reflect" 6 ) 7 8 func main() { 9 type S struct { 10 F string `species:"gopher" color:"blue"` 11 } 12 13 s := S{} 14 st := reflect.TypeOf(s) 15 field := st.Field(0) 16 fmt.Println(field.Tag.Get("color"), field.Tag.Get("species")) 17 18 }
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦