基于GO的空气质量实时监测数据调用代码实例packagemainimport(io/ioutilnet/httpnet/urlfmtencoding/json)//----------------------------------//空气质量调用示例代码-聚合数据//在线接口文档:=*******************//您申请的APPKEYfuncmain(){//1.城市空气质量Request1()//2.城市空气PM2.5指数Request2()//3.城市空气质量-城市列表Request3()//4.城市空气PM2.5指数-城市列表Request4()//5.城市辐射指数Request5()}//1.城市空气质量funcRequest1(){//请求地址juheURL:=初始化参数param:=url.Values{}//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参param.Set(city,)//城市名称的中文名称或拼音,如:上海或shanghaiparam.Set(key,APPKEY)//APPKey//发送请求data,err:=Get(juheURL,param)iferr!=nil{fmt.Errorf(请求失败,错误信息:\r\n%v,err)}else{varnetReturnmap[string]interface{}json.Unmarshal(data,&netReturn)ifnetReturn[error_code].(float64)==0{fmt.Printf(接口返回result字段是:\r\n%v,netReturn[result])}}}//2.城市空气PM2.5指数funcRequest2(){//请求地址juheURL:=初始化参数param:=url.Values{}//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参param.Set(city,)//城市名称的中文名称或拼音,如:上海或shanghaiparam.Set(key,APPKEY)//APPKey//发送请求data,err:=Get(juheURL,param)iferr!=nil{fmt.Errorf(请求失败,错误信息:\r\n%v,err)}else{varnetReturnmap[string]interface{}json.Unmarshal(data,&netReturn)ifnetReturn[error_code].(float64)==0{fmt.Printf(接口返回result字段是:\r\n%v,netReturn[result])}}}//3.城市空气质量-城市列表funcRequest3(){//请求地址juheURL:=初始化参数param:=url.Values{}//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参param.Set(key,APPKEY)//APPKey//发送请求data,err:=Get(juheURL,param)iferr!=nil{fmt.Errorf(请求失败,错误信息:\r\n%v,err)}else{varnetReturnmap[string]interface{}json.Unmarshal(data,&netReturn)ifnetReturn[error_code].(float64)==0{fmt.Printf(接口返回result字段是:\r\n%v,netReturn[result])}}}//4.城市空气PM2.5指数-城市列表funcRequest4(){//请求地址juheURL:=初始化参数param:=url.Values{}//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参param.Set(key,APPKEY)//APPKey//发送请求data,err:=Get(juheURL,param)iferr!=nil{fmt.Errorf(请求失败,错误信息:\r\n%v,err)}else{varnetReturnmap[string]interface{}json.Unmarshal(data,&netReturn)ifnetReturn[error_code].(float64)==0{fmt.Printf(接口返回result字段是:\r\n%v,netReturn[result])}}}//5.城市辐射指数funcRequest5(){//请求地址juheURL:=初始化参数param:=url.Values{}//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参param.Set(city,)//城市名称的中文拼音,查询城市为“上海”,则输入:上海param.Set(num,)//查询页码数,不写默认为第一页。param.Set(key,APPKEY)//APPKey//发送请求data,err:=Get(juheURL,param)iferr!=nil{fmt.Errorf(请求失败,错误信息:\r\n%v,err)}else{varnetReturnmap[string]interface{}json.Unmarshal(data,&netReturn)ifnetReturn[error_code].(float64)==0{fmt.Printf(接口返回result字段是:\r\n%v,netReturn[result])}}}//get网络请求funcGet(apiURLstring,paramsurl.Values)(rs[]byte,errerror){varUrl*url.URLUrl,err=url.Parse(apiURL)iferr!=nil{fmt.Printf(解析url错误:\r\n%v,err)returnnil,err}//如果参数中有中文参数,这个方法会进行URLEncodeUrl.RawQuery=params.Encode()resp,err:=http.Get(Url.String())iferr!=nil{fmt.Println(err:,err)returnnil,err}deferresp.Body.Close()returnioutil.ReadAll(resp.Body)}//post网络请求,params是url.Values类型funcPost(apiURLstring,paramsurl.Values)(rs[]byte,errerror){resp,err:=http.PostForm(apiURL,params)iferr!=nil{returnnil,err}deferresp.Body.Close()returnioutil.ReadAll(resp.Body)}