我有一个函数 ,callAPI具有 return-type interface{}。我有一个结构,Company我想Unmarshal()从callAPI().我应该改为callAPI()return aCompany{}吗?或者,我应该有callAPI()return []byte,然后Unmarshal()进入 aCompany吗?或者,是否有另一种方法来完成我想要实现的目标?
1 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
将指向目标值的指针作为参数传递。将指针值传递给 json.Unmarshal:
func callAPI(a1 T1, a2 T2, v interface{}) error {
// use a1, a2, ... to get API response []byte, p
return json.Unmarshal(p, v)
}
像这样称呼它:
var c Company
err := callAPI(a1, a2, &c)
if err != nil {
// handle error
}
// Use company.
将占位符a1,a2和替换为适合您的函数的任何参数T1。T2
- 1 回答
- 0 关注
- 62 浏览
添加回答
举报
0/150
提交
取消