我必须解析一些嵌套的JSON,它转换为Go类型,如下所示:
type Config struct {
Mail struct {
From string
To string
Password string
}
Summary struct {
Send bool
Interval int
}
}
现在我想为每个键调用一个函数(Mail,Summary),我试试这样:
utils.StartNewMailer(config.Mail)
问题是,我如何构造被调用函数,我试图镜像Mail
结构(并称之为mailConfig
),因为我不能将任意结构作为参数传递。<登记/>
func StartNewMailer(conf mailConfig){ //...
,但这也不起作用,我得到以下编译器错误消息:
cannot use config.Mail (type struct { From string; To string; Password string }) as type utils.mailConfig in argument to utils.StartNewMailer
我是否必须将每个值传递给被调用的函数,或者有更好的方法来执行此操作?
答案 0 :(得分:0)
utils.mailConfig
个字段,如Config
类型的文字结构字段。
type mailConfig struct {
From string
To string
Password string
}
我建议将内部结构声明为类型本身而不是使用结构文字。
type Mail struct {
From string
To string
Password string
}
type Summary struct {
Send bool
Interval int
}
type Config struct {
Mail
Summary
}
func StartNewMailer(Mail mailConfig)