gpt4 book ai didi

pointers - 返回类型与 struct golang 相同

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

我有一个结构:

type Race struct {
Name string `json:"Name"`
About string `json:"About"`
Health int `json:"Health"`
Attacks []Move `json:"Attacks"`
}

和一个加载结构的函数:

func LoadClass(path string) *Race {
bytes, err := ioutil.ReadFile(path)
if err != nil {
panic(err)
}
jsonClass := &Race{}
err = json.Unmarshal(bytes, jsonClass)
//decodes it
if err != nil {
panic(err)
}
return jsonClass
}

有没有办法使 jsonClass 类型为 Race 而不是 *Race

最佳答案

您可以将指向变量的指针传递给 Unmarshal,然后只返回该变量。

func LoadClass(path string) (race Race) {
bytes, err := ioutil.ReadFile(path)
if err != nil {
panic(err)
}
if err = json.Unmarshal(bytes, &race); err != nil {
panic(err)
}
return
}

关于pointers - 返回类型与 struct golang 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36392977/

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