@
ClericPy 说得很对,下次注意了,对提问者没有什么帮助的信息还是不要回好了。抱歉~
我也是用 golang 的,等你用久了就可以体会,其实 golang 的语法还是很不错的。
以一个获取接口数据的方法为例,返回状态为 0 和 1 时的数据。 用 d,err:= 方便接收又不用加新的类型定义,switch 的 case 可以同时 case 多个值。整体逻辑写起来可以很清爽。 而且想要测试方法,创建一个 TestFetchData 方法就可以。
```
func fetchData2(ctx context.Context, url string) (*gjson.Json, error) {
d, err := gclient.New().Timeout(time.Second*3).Retry(5, time.Second*3).Get(ctx, url) // 重试 5 次,每次间隔 3 秒
if err != nil {
glog.Error(ctx, err)
return nil, err
}
json, err := gjson.DecodeToJson(d.ReadAll())
if err != nil {
return nil, err
}
switch json.Get("code").Int() {
case 0, 1:
return json.GetJson("data"), nil
default:
return nil, errors.New("获取数据失败,请稍后重试")
}
}