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

如何将结构作为函数的参数传递

如何将结构作为函数的参数传递

Go
MM们 2022-06-21 16:36:31
我有几个配置 JSON 文件,每个文件都有每个文件的特定结构类型目前我为每个文件/结构名称创建了一个函数:type ConfigOne struct {    App     string `json:"app"`    Web     string `json:"web"`    Archive string `json:"archive"`}type ConfigTwo struct {    Options string `json:"options"`    Source  string `json:"source"`    Backup  bool `json:"backup"`}    func ReadJsonConfigOne(file string, config *ConfigOne) error {    str := GetContentFile(file)    return json.Unmarshal([]byte(str), config)}func ReadJsonConfigTwo(file string, config *ConfigTwo) error {    str := GetContentFile(file)    return json.Unmarshal([]byte(str), config)}func main() {    One := ConfigOne{}    err := ReadJsonConfigOne("file_one.json", &One)        Two := ConfigTwo{}    err := ReadJsonConfigTwo("file_two.json", &Two)        ../..}如何仅使用一个函数并将结构作为参数传递?
查看完整描述

1 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

func ReadJsonConfig(file string, config interface{}) error {

    str := GetContentFile(file)

    return json.Unmarshal([]byte(str), config)

}

用法


func main() {

    One := ConfigOne{}

    err := ReadJsonConfig("file_one.json", &One)

    

    Two := ConfigTwo{}

    err := ReadJsonConfig("file_two.json", &Two)

    

    ../..

}

使用接口作为函数参数。


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

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