golang編程入門之http請求天氣實(shí)例
golang學(xué)習(xí)第一波,使用http get請求高德天氣接口。
一、準(zhǔn)備內(nèi)容:
1、注冊高德開發(fā)者賬號(hào),申請key
2、golang開發(fā)工具LiteIDE(可自行百度)。
或者http://www.dbjr.com.cn/softjc/119086.html
3、大致了解下golang基礎(chǔ)語法。
二、直接上代碼
因?yàn)榇a注釋非常詳盡,故直接上代碼。
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { rlt, err := doHttpGetRequest("https://restapi.amap.com/v3/weather/weatherInfo?key=你的高德key&city=110101") if err != nil { fmt.Println("net req error") } else { fmt.Println(rlt) } } // 自定義http get請求函數(shù) // 入?yún)ⅲ赫埱髐rl // 返回值:rlt,天氣數(shù)據(jù)。err,錯(cuò)誤信息 // 網(wǎng)絡(luò)請求 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í)行此行語句。多用于句柄關(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。供測試使用
返回結(jié)果:
測試結(jié)果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Golang標(biāo)準(zhǔn)庫flag的全面講解
這篇文章主要介紹了關(guān)于Golang標(biāo)準(zhǔn)庫flag的全面講解,這個(gè)庫的代碼量只有1000行左右,卻提供了非常完善的命令行參數(shù)解析功能,更多相關(guān)內(nèi)容需要的朋友可以參考一下2022-09-09Go微服務(wù)項(xiàng)目配置文件的定義和讀取示例詳解
這篇文章主要為大家介紹了Go微服務(wù)項(xiàng)目配置文件的定義和讀取示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06golang中json小談之字符串轉(zhuǎn)浮點(diǎn)數(shù)的操作
這篇文章主要介紹了golang中json小談之字符串轉(zhuǎn)浮點(diǎn)數(shù)的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03