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

我有一个函数 ,callAPI具有 return-type interface{}

我有一个结构,Company我想Unmarshal()callAPI().

我应该改为callAPI()return aCompany{}吗?

或者,我应该有callAPI()return []byte,然后Unmarshal()进入 aCompany吗?

或者,是否有另一种方法来完成我想要实现的目标?


幕布斯6054654
浏览 63回答 1
1回答

肥皂起泡泡

将指向目标值的指针作为参数传递。将指针值传递给 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 Companyerr := callAPI(a1, a2, &c)if err != nil {     // handle error}// Use company.将占位符a1,a2和替换为适合您的函数的任何参数T1。T2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go