猿问

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

与此相关:https : //play.golang.org/p/0kYRHO5f7kE

如果我有20多个不同的字段,如果Struct中的一个字段为空,请不要对其进行更新。仅使用其中的值更新它们。

最好的前进方向是什么?我已经看到将可变参数输入传递给另一个函数,但是如何最好地做到这一点呢?


萧十郎
浏览 298回答 1
1回答

繁花如伊

您可以使用此库将结构字段转换为接口映射(可以自己使用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
随时随地看视频慕课网APP

相关分类

Go
我要回答