Go语言的tag都是使用在反射当中, 在不使用反射的时候基本没用, 当然在解析XML或者建立数据库时候,这个tag还是很有用的
一般声明如下:
type abc struct {
acb string `xxxxx` //这里使用的是``符号
}
例子:
package main import ( "fmt" "reflect" // 这里引入reflect模块 ) type User struct { Name string "user name" //这引号里面的就是tag,这里可以用 `` 或双引号 都可以 Passwd string "user passsword" } func main() { user := &User{"chronos", "pass"} s := reflect.TypeOf(user).Elem() //通过反射获取type定义 for i := 0; i < s.NumField(); i++ { fmt.Println(s.Field(i).Tag) //将tag输出出来 } }