快速入门

今天,我们将要基于一个例子,学习如何使用GIN框架。

目录

文章目录

  • 快速入门
  • 目录
  • 要求
  • 安装
    • 1.下载并安装 gin:
    • 2.将 gin 引入到代码中:
    • 3.(可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包:
      • 2.创建项目并且 cd 到项目目录中
      • 3.使用 govendor 初始化项目,并且引入 gin
      • 4.复制启动文件模板到项目目录中
      • 5.启动项目

要求

    Go 1.9 及以上版本

我试验的版本是1.15.2

go version go1.15.2 windows/amd64

安装

要安装 Gin 软件包,需要先安装 Go 并设置 Go 工作区。

1.下载并安装 gin:

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

如果遇上安装不了的情况,可以参阅这篇
golang 装包
go module管理

2.将 gin 引入到代码中:

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

3.(可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包:

import "net/http"

使用 Govendor 工具创建项目

### 1.go get govendor$ go get github.com/kardianos/govendor

2.创建项目并且 cd 到项目目录中

$ mkdir -p $GOPATH/src/github.com/myusername/project && cd "$_"

3.使用 govendor 初始化项目,并且引入 gin

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

4.复制启动文件模板到项目目录中

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

5.启动项目

$ go run main.go

开始

    不确定如何编写和执行 Go 代码? 点击这里.

首先,创建一个名为 example.go 的文件

$ touch example.go

接下来, 将如下的代码写入 example.go 中:

# 主程序包名
package main
# 导入的包
import "github.com/gin-gonic/gin"
# 主函数
func main() {
# 初始化一个Gin实例r := gin.Default()# 设置Get操作r.GET("/ping", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})# 初始化服务r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}

然后, 执行 go run example.go 命令来运行代码:
运行 example.go 并且在浏览器中访问 0.0.0.0:8080/ping

$ go run example.go

得到如下反馈,说明安装成功了。

[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.- using env:   export GIN_MODE=release- using code:  gin.SetMode(gin.ReleaseMode)[GIN-debug] GET    /ping                     --> main.main.func1 (3 handlers)
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on :8080

访问网站的结果如图。

Golang库学习笔记 Gin(三)相关推荐

  1. Golang库学习笔记 Gin(一)

    GIN GIN 是Go语言的一个比较成熟的HTTP web 框架,运行速度很快. 目录 文章目录 GIN 目录 正文 如何使用 Gin? 如何为 Gin 做贡献? 正文 Gin 是一个用 Go (Go ...

  2. Golang 库学习笔记 Gin(二)

    介绍 Gin 是一个用 Go (Golang) 编写的 web 框架. 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 http router,速度提高了近 40 倍. 如果你 ...

  3. Andorid中使用Jsoup解析库解析XML、HTML、Dom节点---第三方库学习笔记(三)

    XML介绍: XML简介: XML,可扩展标记语言,标准通用标记语言的子集. 一种用于标记电子文件使其具有结构性的标记语言. 它可以用来标记数据.定义数据类型 是一种允许用户对自己的标记语言进行定义的 ...

  4. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  5. 《Go语言圣经》学习笔记 第三章 基础数据类型

    <Go语言圣经>学习笔记 第三章 基础数据类型 目录 整型 浮点数 复数 布尔型 字符串 常量 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记, ...

  6. 数字图像处理学习笔记(三):ORB算法(尺度不变特征变换)Oriented FAST and Rotated BRIEF

    数字图像处理学习笔记(三):ORB算法(尺度不变特征变换)Oriented FAST and Rotated BRIEF 一.概述 参考:特征点匹配+特征检测方法汇总 ORB的全称是Oriented ...

  7. QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64)

    QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64) 1.编译方式介绍: 2.动态编译方式打包发布QT程序: 方法一:手动复制 方法二:使用工具 问题& ...

  8. ROS 学习笔记(三):自定义服务数据srv+server+client 示例运行

    ROS 学习笔记(三):自定义服务数据srv+Server+Client 示例运行 一.自定义服务数据: 1.向功能包添加自定义服务文件(AddTwoInts.srv) cd ~/catkin_ws/ ...

  9. react取消捕获_React学习笔记(三)

    React学习笔记(三),组件的生命周期 React中组件也有生命周期,也就是说也有很多钩子函数供我们使用, 组件的生命周期,我们会分为四个阶段,初始化.运行中.销毁.错误处理(16.3之后) 初始化 ...

最新文章

  1. Linux堆内存管理深入分析(上)
  2. extjs4.0视频教程下载
  3. python策略模式的应用_Head First 设计模式——策略模式(Strategy Pattern)——Python实现 | 学步园...
  4. Linux:如何获取打开文件和文件描述符数量
  5. android 布局设置背景的透明度
  6. 【牛客 - 330I】Applese 的回文串(结论题,类似编辑距离,dp)
  7. threejs基础示例
  8. StackOverflow热帖:Java整数相加溢出怎么办?Java8一步搞定~
  9. 《金字塔原理》学习笔记
  10. im源码 php,thinkphpim即时通讯源码
  11. reshape() 函数与 kron()函数的区别
  12. 华为防火墙nat技术之服务器映射
  13. html样式类collapse,[ CSS-CSS3 ] 史上最全CSS样式一览表
  14. 爬虫 第六讲 Scrapy框架
  15. 2023北京叶黄素展/北京视力矫正设备展/北京眼睛医学康复展
  16. 如何做好区块链社区?得社区者得天下
  17. 批量查找替换excel单元格中的软回车(alt + enter)
  18. 【openstack-rally】使用rally执行tempest api测试并导出测试报告
  19. 「数据游戏」:使用 ARIMA 算法预测三日后招商银行收盘价
  20. Apples Prologue(吃苹果问题) C++

热门文章

  1. Building your training into your researcing
  2. 快速制作你的虚拟头像
  3. UNITY 打APK是如何确定哪些资源有用哪些无用的
  4. 338. Counting Bits_比特位计数_简单动态规划
  5. Linux内核最新的连续内存分配器(CMA)——避免预留大块内存【转】
  6. Nagios监控服务器安装和部署
  7. The server time zone value
  8. eclipse 拨打电话、拨号,发短信
  9. CSS权威指南(第三版)
  10. hdu-5063 Operation the Sequence