为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Golang中将结构的多个非空值传递给hmset?

如何在Golang中将结构的多个非空值传递给hmset?

Go
萧十郎 2021-04-07 21:19:30
与此相关:https : //play.golang.org/p/0kYRHO5f7kE如果我有20多个不同的字段,如果Struct中的一个字段为空,请不要对其进行更新。仅使用其中的值更新它们。最好的前进方向是什么?我已经看到将可变参数输入传递给另一个函数,但是如何最好地做到这一点呢?
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

您可以使用此库将结构字段转换为接口映射(可以自己使用stdlib的反射来完成),然后在其上循环


pipe := redisClient.TxPipeline()


m := structs.Map(server)

for k, v := range m {

    pipe.HMSet(username, k, v)

}


cmder, err := pipe.Exec()

if err != nil {

    return nil, err

}

用于redis的驱动程序是go-redis




查看完整回答
反对 回复 2021-04-19
  • 1 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信