我必须解析一些嵌套的JSON,将其转换为Go类型,如下所示:
1 2 3 4 5 6 7 8 9 10 11 | type Config struct { Mail struct { From string To string Password string } Summary struct { Send bool Interval int } } |
现在,我想为每个键(邮件,摘要)调用一个函数,我这样尝试过:
utils.StartNewMailer(config.Mail)
问题是,如何构造被调用的函数,我试图镜像
cannot use config.Mail (type struct { From string; To string; Password string }) as type utils.mailConfig in argument to utils.StartNewMailer
我是否必须将每个单个值都传递给被调用的函数,或者有更好的方法吗?
-
"我试图镜像
Mail 结构"是什么意思? -
被调用的函数位于另一个模块中,所以我基本上在那做:
type mailConfig struct { \tfrom string \tto string \tpassword string }
应该导出
1 2 3 4 5 | type mailConfig struct { From string To string Password string } |
我建议将内部结构声明为类型本身,而不要使用结构文字。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | type Mail struct { From string To string Password string } type Summary struct { Send bool Interval int } type Config struct { Summary } func StartNewMailer(Mail mailConfig) |