我有几个配置 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)
../..
}
使用接口作为函数参数。
- 1 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消