gpt4 book ai didi

json - 结构中的泛化 - golang

转载 作者:数据小太阳 更新时间:2023-10-29 03:26:02 26 4
gpt4 key购买 nike

我有这个函数可以将 JSON 文件读入 Driver 结构:

func getDrivers() []Driver {
raw, err := ioutil.ReadFile("/home/ubuntu/drivers.json")
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

var d []Driver
json.Unmarshal(raw, &d)
return d
}

如何更改此函数以使其也适用于 Pilot 结构?我尝试使用 []interface{} 但没有成功。

谢谢

最佳答案

更改函数的签名以使其通用,并将 slice 作为参数传递。以下应该有效:

func getDriversOrPilots(file string, slice interface{}) {
raw, err := ioutil.ReadFile(file)
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

json.Unmarshal(raw, slice)
}

func getDrivers() []Driver {
var d []Driver
getDriversOrPilots("/home/ubuntu/drivers.json", &d)
return d
}

func getPilots() []Pilot {
var p []Pilot
getDriversOrPilots("/home/ubuntu/pilots.json", &p)
return p
}

关于json - 结构中的泛化 - golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41612944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com