drde3456 2018-07-25 22:20
浏览 183

golang动态类型转换

From a snippet (not comprehensively functional here):

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)
}

For normal output, I write UserEmail.String. If the .String is absent, then the output is:

   UserEmail String {johndoe@somecompany.com true}

How would I dynamically append the .String, or .Int64, depending on the data type, wherein that type extention actually functions to produce:

   UserEmail String johndoe@somecompany.com

Essentially turning the strings "UserEmail" and "String" into UserEmail.String

Thanks!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化
    • ¥15 Tableau online 嵌入ppt失败
    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度
    • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测