摘录自一个片段(此处功能不全面):
type SomeType struct {
UserEmail sql.NullString `db:"user_email"`
RecID sql.NullInt64 `db:"rec_id"`
}
for g := 0; g < s.NumField(); g++ {
f := s.Field(g)
tType = f.Type().String()
tType = strings.Replace(tType, `sql.Null`, ``, 1)
tType = strings.Replace(tType, `mysql.Null`, ``, 1)
tType = strings.Replace(tType, `decimal.NullDecimal`, `Decimal`, 1)
tType = strings.Replace(tType, `myTime`, `Time`, 1)
fmt.Println(g, typeOfT.Field(g).Name, tType, f)
}
对于正常输出,我编写UserEmail.String。如果不存在.String,则输出为:
UserEmail String {johndoe@somecompany.com true}
如何根据数据类型动态附加.String或.Int64,其中该类型扩展实际上用于产生:
UserEmail String johndoe@somecompany.com
基本上将字符串“ UserEmail”和“ String”转换为UserEmail.String
谢谢!