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

用于将函数解组为结构的正确模式?

用于将函数解组为结构的正确模式?

Go
幕布斯6054654 2022-10-10 19:14:55
我有一个函数 ,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


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

添加回答

举报

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