golang學(xué)習(xí)第一波,使用http get請(qǐng)求高德天氣接口。
一、準(zhǔn)備內(nèi)容:
1、注冊(cè)高德開(kāi)發(fā)者賬號(hào),申請(qǐng)key
2、golang開(kāi)發(fā)工具LiteIDE(可自行百度)。
或者h(yuǎn)ttps://www.jb51.net/softjc/119086.html
3、大致了解下golang基礎(chǔ)語(yǔ)法。
二、直接上代碼
因?yàn)榇a注釋非常詳盡,故直接上代碼。
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
rlt, err := doHttpGetRequest("https://restapi.amap.com/v3/weather/weatherInfo?key=你的高德keycity=110101")
if err != nil {
fmt.Println("net req error")
} else {
fmt.Println(rlt)
}
}
// 自定義http get請(qǐng)求函數(shù)
// 入?yún)ⅲ赫?qǐng)求url
// 返回值:rlt,天氣數(shù)據(jù)。err,錯(cuò)誤信息
// 網(wǎng)絡(luò)請(qǐng)求
func doHttpGetRequest(url string) (rlt string, err error) {
// http.Get在net/http中,所以要import "net/http"
resp, err := http.Get(url)
if err != nil {
return "", err
} else {
// 使用efer resp.Body.Close()。當(dāng)doHttpGetRequest成功return之后,執(zhí)行此行語(yǔ)句。多用于句柄關(guān)閉
defer resp.Body.Close()
// io流數(shù)據(jù)讀取。需要引用io/ioutil
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return "", err
} else {
return string(body), err
}
}
}
注:我的高德key:d2315f3b0b4e57bbf5428e755a73e692。供測(cè)試使用
返回結(jié)果:
測(cè)試結(jié)果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- golang http請(qǐng)求封裝代碼
- Golang發(fā)送http GET請(qǐng)求的示例代碼
- 詳解golang開(kāi)發(fā)中http請(qǐng)求redirect的問(wèn)題
- golang使用http client發(fā)起get和post請(qǐng)求示例
- 詳解golang中發(fā)送http請(qǐng)求的幾種常見(jiàn)情況
- golang高性能的http請(qǐng)求 fasthttp詳解