我的gin框架笔记

隔壁老王 等级 296 1 0

入门教程 https://golangcaff.com/docs/gin-gonic/2018/gin-readme/396

  1. 下载

    go get -u github.com/gin-gonic/gin

  2. 在你的代码中导入它:

    import "github.com/gin-gonic/gin"

  3. (可选的) 导入 net/http 。 如果你使用常量(如: http.StatusOK ) 的时候必须导入。

    import "net/http"

  4. 使用一个 vendor 工具,比如 Govendor

    go get govendor

    go get github.com/kardianos/govendor

创建你的项目目录并使用 cd 进入

初始化你的项目的 Vendor 并添加 gin

govendor init
govendor fetch github.com/gin-gonic/gin@v1.2

复制一个开始模板到你的项目中

curl https://raw.githubusercontent.com/gin-gonic/gin/master/examples/basic/main.go > main.go

运行你的项目

go run main.go

依赖

现在 Gin 需要 Go 1.6 或更高版本,并且很快它将会需要 Go 1.7 。

快速开始

假设下面代码在 example.go 文件中

cat example.go
package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    r.Run() // 在 0.0.0.0:8080 上监听并服务
}

运行 example.go 并在浏览器上访问 0.0.0.0:8080/ping

go run example.go
// 实现内部流水
package main

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



func Mid(c *gin.Context)  {
    if c.Request.Method == "GET"{
        return
    }
    fmt.Println("begin")
    c.Next()


    fmt.Println("end")
}

func Test1(c *gin.Context)  {
    fmt.Println("调用Test1")
    c.Writer.WriteString("ok")
    fmt.Println("调用Test1后")
}

func Test2(c *gin.Context)  {
    fmt.Println("调用Test2")
    c.Writer.WriteString("ok")
    fmt.Println("调用Test2后")
}

func main() {
    app := gin.New()
    app.Use(Mid)

    app.GET("/", Test1)
    app.GET("/1", Test2)

    app.Run(":5000")
}
收藏
评论区

相关推荐

【Golang】Golang + jwt 实现简易用户认证
<p本文已同步发布到我的个人博客:<a href"https://links.jianshu.com/go?tohttps%3A%2F%2Fglorin.xyz%2F2019%2F11%2F23%2FGolangjwtsimpleauth%2F" target"_blank"https://glorin.xyz/2019/11/23/Golang
Golang并发模型:轻松入门流水线FAN模式
前一篇文章《Golang并发模型:轻松入门流水线模型》(https://segmentfault.com/a/1190000017142506),介绍了流水线模型的概念,这篇文章是流水线模型进阶,介绍FANIN和FANOUT,FAN模式可以让我们的流水线模型更好的利用Golang并发,提高软件性能。但FAN模式不一定是万能,不见得能提高程序的性能,甚
godoc 命令和 golang 代码文档管理
介绍 godoc 是 golang 自带的文档查看器,更多的提供部署服务 go doc 和 godoc 在 golang 1.13 被移除了,可以自行安装 golang.org go1.13 godoc(https://links.jianshu.com/go?tohttps%3A%2F%2Fgolang.org%2Fdoc%2Fg
Mac安装Golang和vscode
Mac第一次安装golang和vscode一起使用,遇到了不少的坑,下面介绍一下正确的安装方式。 1、使用brew安装Golang 如果不知道brew是什么,或怎么安装请看这里 brew官网(https://brew.sh/index_zhcn) brew install golang 安装完成后可以使用
【Golang】GoWeb框架之Gin-简明教程
Gin 简介 Gin is a HTTP web framework written in Go (Golang). It features a
golang 分析调试高阶技巧
layout: post title: “golang 调试高阶技巧” date: 2020603 1:44:09 0800 categories: golang GC 垃圾回收 golang 高阶调试 Golang tools nm compile
我的golang笔记
面向对象思想 面向对象简介 编程思想 与编程语言无关。 C语言、Go中的 结构体 就是后来面向对象编程语言中的类。 面向对象编程:高内聚,低耦合。 特性 继承 —— 匿名字段(实名字段) 封装 —— 方法 多态 —— 接口(interface) Go 语言是典型的面向对象编程语言。 通过程序描述对象 创建类(指定类属性) 类属性:静
我的gin框架笔记
入门教程https://golangcaff.com/docs/gingonic/2018/ginreadme/3961. 下载 go get u github.com/gingonic/gin 2. 在你的代码中导入它: import "github.com/gingonic/gin"3. (可选的) 导入 net/http
我的golang基础
库查询 https://gowalker.org/你应该$HOME/.profile文件增加下面设置。 搭建go的环境 step1:去golang的官网下载go的安装包 windows:go1.9.2.....msi mac:go1.9.2......pkg 双击傻瓜式安装 linux:go1.9.2.linuxamd64.tar.gz 默认到下
Golang如何解析post请求中的json字符串
目录问题解决 问题使用Golang开发服务器,最常用的使用场景之一就是处理各种http请求。那么我们如何使用Golang解析Post请求中的Json字符串呢?今天我们就来通过一个实例了解一下。 解决首先,我们需要定义好对应的消息结构,也就是前端请求服务器的API接口。定义接口的话推荐使用工具YAPI编写,支持预
Android如何解析json字符串
前言上一篇文章介绍了服务器用Golang如何解析json字符串,今天我们来看看Android客户端是如何解析json字符串的。 正文Golang如何解析post请求中的json字符串(https://www.helloworld.net/p/O917HGeiALU2D)使用java语句如何正确解析json字符串呢?举一个例子,假如我们想从rtc_i
Gin + Vue全栈开发实战
      尝试地写了第一篇自己学习Go Web框架的感受和入门的文章,发现反响还不错,大家也提出了很多的问题来一起交流。近期也渐渐地出现了很多有关go语言开发的相关文章,包括有在蚂蚁金服的大牛的分享,我也一直有在看博客园和学习,这里越来越多人的去学习
golang - DES加密ECB(模式)
Java默认DES算法使用DES/ECB/PKCS5Padding,而golang认为这种方式是不安全的,所以故意没有提供这种加密方式,那如果我们还是要用到怎么办?下面贴上golang版的DES ECB加密解密代码(默认对密文做了base64处理)。
go get下载包失败问题
关于我由于某些不可抗力的原因,国内使用go get命令安装包时会经常会出现timeout的问题。本文介绍几个常用的解决办法。 从github克隆golang在github上建立了一个镜像库,如https://github.com/golang/net就对应是 https://golang.org/x/net的镜像库。 要下载golang.org/x/net包
JAVA回调机制(CallBack)之小红是怎样买到房子的??
JAVA回调机制CallBack 序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按