golang编程入门之http请求天气实例

 更新时间:2018年08月03日 10:39:25   作者:embedsky  
这篇文章主要介绍了golang编程入门之http请求天气实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

golang学习第一波,使用http get请求高德天气接口。

一、准备内容:

1、注册高德开发者账号,申请key

2、golang开发工具LiteIDE(可自行百度)。

或者https://www.jb51.net/softjc/119086.html

3、大致了解下golang基础语法。

二、直接上代码

因为代码注释非常详尽,故直接上代码。

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请求函数
// 入参:请求url
// 返回值:rlt,天气数据。err,错误信息
// 网络请求
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()。当doHttpGetRequest成功return之后,执行此行语句。多用于句柄关闭
    defer resp.Body.Close()

    // io流数据读取。需要引用io/ioutil
    body, err := ioutil.ReadAll(resp.Body)

    if err != nil {
      return "", err
    } else {
      return string(body), err
    }

  }

}

注:我的高德key:d2315f3b0b4e57bbf5428e755a73e692。供测试使用

返回结果:

测试结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • golang 在windows中设置环境变量的操作

    golang 在windows中设置环境变量的操作

    这篇文章主要介绍了golang 在windows中设置环境变量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • go reflect要不要传指针原理详解

    go reflect要不要传指针原理详解

    这篇文章主要为大家介绍了go reflect要不要传指针原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Go语言遍历目录的三种方法举例

    Go语言遍历目录的三种方法举例

    学习io之后,尤其是文件操作,我们就可以遍历给定的目录了,这篇文章主要给大家介绍了关于Go语言遍历目录的三种方法,分别是ioutil.ReadDir、filepath.Walk以及filepath.Glob,需要的朋友可以参考下
    2023-11-11
  • Go语言并发控制之semaphore的原理与使用

    Go语言并发控制之semaphore的原理与使用

    这篇文章主要为大家详细介绍了Go官方库x中提供的扩展并发原语 semaphore,译为“信号量”,文中介绍了它的原理与使用,需要的可以了解下
    2025-02-02
  • golang实现redis的延时消息队列功能示例

    golang实现redis的延时消息队列功能示例

    这篇文章主要介绍了golang实现redis的延时消息队列功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 谈谈对Golang IO读写的困惑

    谈谈对Golang IO读写的困惑

    这篇文章主要介绍了谈谈对Golang IO读写的困惑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Go语言大揭秘:适用于哪些类型的项目开发?

    Go语言大揭秘:适用于哪些类型的项目开发?

    想知道Go编程语言适合开发哪些类型的项目吗?无论是网络服务、分布式系统还是嵌入式设备,Go都能轻松应对,本文将带你了解Go在各种场景下的应用,让你更好地选择和使用Go进行开发,需要的朋友可以参考下
    2024-01-01
  • 简化Go开发提高生产力的强大工具及使用详解

    简化Go开发提高生产力的强大工具及使用详解

    作为 Go 开发人员,应该都知道维持简洁高效开发工作流程的重要性,为了提高工作效率和代码质量,简化开发流程并自动执行重复性任务至关重要,在本文中,我们将探讨一些强大的工具和技术,它们将简化 Go 开发过程,助力您的编码之旅
    2023-10-10
  • GO中对map排序的实现

    GO中对map排序的实现

    本文主要介绍了GO中对map排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Go中groutine通信与context控制实例详解

    Go中groutine通信与context控制实例详解

    随着context包的引入,标准库中很多接口因此加上了context参数,下面这篇文章主要给大家介绍了关于Go中groutine通信与context控制的相关资料,需要的朋友可以参考下
    2022-02-02

最新评论