Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Go语言网络编程入门不走弯路最佳案例(写Api接口)

Go语言网络编程入门不走弯路最佳案例(写Api接口)

作者头像
zhaoolee
发布于 2020-12-16 09:14:38
发布于 2020-12-16 09:14:38
1.5K00
代码可运行
举报
文章被收录于专栏:木子昭的博客木子昭的博客
运行总次数:0
代码可运行

Go语言是Google领导开发的一门编程语言,国内可访问的官网 https://golang.google.cn/

image-20201213123438844

只要选对了框架,用Go语言完成网络编程会变得非常容易,目前Github Star数量最多的Go语言的框架为gin, 开源地址 github.com/gin-gonic/gin ,并且提供了中文文档 https://gin-gonic.com/zh-cn/docs/

写一个最简单的Get接口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    // 获取路由
    r := gin.Default()

    // 最简单的回应 http://127.0.0.1:8080/ping
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong(最简单的回应)",
        })
    })

image-20201213122245906

写一个鹦鹉学舌式的小程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// GET版 鹦鹉学舌 http://127.0.0.1:8080/message?name=dd
    r.GET("/message", func(c *gin.Context){
        name := c.Query("name");
        data := map[string]interface{}{
            "name": name,
        }
        c.JSON(200, gin.H{
            "status": 1000,
            "message": "响应鹦鹉学舌",
            "data": data,
        })
    })

image-20201213122441082

写一个响应POST 请求的接口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// POST版鹦鹉学舌 http://127.0.0.1:8080/movie

    type Info struct {
        Name string `json:"name"`
        Score int `json:"score"`
    }

    r.POST("/movie", func(c *gin.Context){

        // 以Info为模板初始化data
        var data Info
        
        // 将请求参数绑定到data
        c.BindJSON(&data);

        c.JSON(200, gin.H{
            "status": 1000,
            "message": "返回电影名称和评分",
            "data": data,
        })

    })

image-20201213122620459

以上实例完整代码

使用之前请先运行 go get github.com/gin-gonic/gin 安装依赖包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main

import (
    "github.com/gin-gonic/gin"
    "fmt"
)

func main() {
    // 获取路由
    r := gin.Default()

    // 最简单的回应 http://127.0.0.1:8080/ping
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong(最简单的回应)",
        })
    })
    
    // GET版 鹦鹉学舌 http://127.0.0.1:8080/message?name=dd
    r.GET("/message", func(c *gin.Context){
        name := c.Query("name");
        data := map[string]interface{}{
            "name": name,
        }
        c.JSON(200, gin.H{
            "status": 1000,
            "message": "响应鹦鹉学舌",
            "data": data,
        })
    })

    // POST版鹦鹉学舌 http://127.0.0.1:8080/movie

    type Info struct {
        Name string `json:"name"`
        Score int `json:"score"`
    }

    r.POST("/movie", func(c *gin.Context){

        // 以Info为模板初始化data
        var data Info
        
        // 将请求参数绑定到data
        c.BindJSON(&data);

        fmt.Println("=data=>>",data);


        c.JSON(200, gin.H{
            "status": 1000,
            "message": "返回电影名称和评分",
            "data": data,
        })

    })


    r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}

Go语言编译器安装教程

https://www.runoob.com/go/go-environment.html

小结

Go语言是Google主导开发的语言,拥有C++级别的性能,Python级别的易用度,如果你想写性能极高的程序, 又想保护发际线, 避开C++ , 那Go语言值得一学~

阅读原文(支持读写评论)

https://www.v2fy.com/p/2020-12-13-go/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在Ubuntu 20.04中安装系统级最新版Go语言编译器,并新建项目
由于/etc/profile 从/etc/profile.d文件夹读取配置文件, 为了不对/etc/profile造成破坏性更改,我们选择在/etc/profile.d新建文件go.sh,并在go.sh中填入环境变量
zhaoolee
2020/12/17
2.7K0
Go组件学习——Web框架Gin
以前学Java的时候,和Spring全家桶打好关系就行了,从Spring、Spring MVC到SpringBoot,一脉相承。
JackieZheng
2019/11/18
1.2K0
Gin入门教程:从零开始学习Go语言Web框架
在Go语言的Web开发领域,Gin框架无疑是一个备受关注的轻量级框架。它具有快速、高效、易用等特点,非常适合用于构建Web应用程序。本篇博客将带领大家从零开始学习Gin框架,包括安装、基本用法和常用功能等内容。 Gin 是一个用 Go 语言编写的 Web 框架,它提供了快速构建高性能 Web 应用程序的工具和框架。下面是 Gin 框架的一些特点和功能:
用户6297767
2023/11/21
15.9K1
Gin-Web-Framework官方指南中文(下篇)
ShouldBind,ShouldBindJSON,ShouldBindXML,ShouldBindQuery,ShouldBindYAML
小诚信驿站
2019/10/31
2.4K0
Gin-Web-Framework官方指南中文(下篇)
Go语言WEB框架之Gin
文档:https://gin-gonic.com/zh-cn/docs/quickstart/
码客说
2022/10/05
1.4K0
如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (二)
  这是系列文章的第二篇。下面是另外两篇的链接: 如何使用 Gin 和 Gorm 搭建一个简单的 API 服务(一) 如何使用 Gin 和 Gorm 搭建一个简单的 API 服务(三)
用户2443625
2018/08/23
1.6K0
如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (二)
[go语言开发]从0开始开发美图站——第四课[开始我们的web端的HelloWord]
在上面的教程中,我们也看到了go get的多次出现。那么在正式的学习过程中,我们先来了解一下go的包管理系统吧。在1.11之前Go语言的包管理都是在gopath下的,所有的包和文件都得在这个目录下面。而在此后的版本中引入了go module包管理,解放了开发源文件也必须放在gopath下的束缚。当然在这里贯穿始终的下载包的工具为go get。 go get 可以下载所有的开放git下的go语言包。 而后面的-u参数就是更新包,如果你不想更新,那么就不要带上-u这个参数。
用户2353021
2021/03/17
3450
你会高效写http服务器吗?Gin实战演练
胖sir开始捣鼓http服务器,在寻求一种高效的解决方式且高性能的解决方式...
阿兵云原生
2023/02/16
2.3K0
Go:web框架 Gin 简介与实践
gin是用go语言开发的一个web框架,简单易用,是一个轻量级框架。Gin是Golang的一个web框架,封装优雅API友好,源码注释比较明确。借助Gin框架开发web服务,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。
Freedom123
2024/03/29
1K0
Go:web框架 Gin 简介与实践
GO语言学习笔记
1. 生成mod文件  -  go mod init 包名 (注: 包名在 import 引入自定义包时替代GOPATH)
93年的老男孩
2022/02/08
8770
Go Web框架gin的入门教程
目前,基于Go的web框架也可谓是百花齐放了,之所以选择gin ,没其他原因,就只是因为其在github上的star数是最多的,而且仅仅从README看,其文件也是相当丰富的。
会呼吸的Coder
2020/02/17
1.4K0
Golang学习笔记之WEB框架(gin)基本使用
Github地址:https://github.com/gin-gonic/gin gin的安装:go get github.com/gin-gonic/gin API gin.Default() 创建路由 gin.DisableConsoleColor() 禁用控制台颜色 gin.SetMode() 设置gin模式。参数可以传递:gin.DebugMode、gin.ReleaseMode、gin.TestMode。 路由的方法为:假定我们先创建一个路由 router := gin.Default() 获取的方式可以为
李海彬
2018/12/29
2.3K0
[go语言开发]从0开始开发美图站——第五课[接收图片上传]
从这一课开始我们就进入了比较难的步骤了。这个步骤就是我们这个服务的核心,接收图片上传。在写这个东西之前,我们先了解另外一个软件,这个软件的名字叫postman
用户2353021
2021/03/29
5340
[go语言开发]从0开始开发美图站——第五课[接收图片上传]
SRE后端接口开发篇
截止昨天,我们可以使用gin框架创建一个简单的web项目,实现通过访问根路径实现页面展示hello world消息。那么像昨天创建的简单项目肯定不能满足我们的调用k8s集群信息功能页面的设计需求,所以今天再接着来开发。
希里安
2023/10/30
4720
SRE后端接口开发篇
gin框架之json输出
目前json已经成为前后端交互的主要数据传输方式,那么gin框架是怎么输出json的呢?下面我们来讲讲在gin中是怎么输出json的。
大话swift
2020/03/12
3.2K0
01 . Go框架之Gin框架从入门到熟悉(路由和上传文件)
路由方法有GET, POST, PUT, PATCH, DELETE 和 OPTIONS,还有Any,可匹配以上任意类型的请求
iginkgo18
2020/10/30
1.6K0
go语言中gin的用法
在这个示例中,我们使用了gin框架来创建一个简单的HTTP服务。我们定义了四个路由:
周辰晨
2024/03/18
2700
Go语言(十三)Gin Web框架
Gin Web框架 简介 基于httprouter开发的web框架:https://github.com/gin-gonic/gin 提供Martini风格的API,但比Martini要快40倍 非常轻量级,使用简洁 Gin框架的安装与使用 安装: go get -u github.com/gin-gonic/gin 基本使用 import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/ping", fu
alexhuiwang
2020/09/24
9560
Go语言(十三)Gin Web框架
gin学习笔记
首先我们使用 go moudle来管理依赖, go版本要求在 1.11.1 及以上
用户2825413
2020/02/20
8440
Go 语言高性能 Web 框架 Gin 框架路由和请求参数的使用方式
使用 Web 框架,可以在开发项目时更高效。Web 框架一般会支持基础功能,比如路由、处理请求参数、渲染返回结果、中间件等。
frank.
2024/11/19
3050
Go 语言高性能 Web 框架 Gin 框架路由和请求参数的使用方式
相关推荐
在Ubuntu 20.04中安装系统级最新版Go语言编译器,并新建项目
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档