2.go-GIN快速入门
一、go mod安装
1、为什么要安装go mod
在项目中需要某个依赖包,必须使用go get安装,否则运行go run main.go会报错。这种方式在依赖包较多时不便于管理,于是在go1.11版本就有了go mod。go mod是go的包管理工具,使用go mod后,无需把所有项目放在$GOPATH/src,项目可以放在任何位置
go get有时下载某个插件的时候需要FQ,如果你的电脑没有FQ的话是安装不上去的,比如:go get -u github.com/gin-gonic/gin,,因为它有连接到google的文件,所以我们需要配置go mod,当然你也可以FQ。
2、 go mod安装
第一步:在环境变量中配置环境变量
export GO111MODU=on
export GOPROXY=https://goproxy.io
配置好以后让配置生效
source ~/.bash_profile
第二步:在idea中配置启用go module

添加环境变量


配置好了。
3. 使用go mod创建项目
go mod init 项目名
在src目录下,我们创建一个叫api的项目
mkdir api
在根目录下执行
go mod init api
会看到如下输出
go: creating new go.mod: module api
go: to add module requirements and sums:
go mod tidy
表示module初始化成功了,在目录下生成go.mod文件。
包含go.mod文件的目录称为模块根,go.mod 文件的出现定义了它所在的目录为一个模块,该模块下的模块导入其他模块都以它为参照,如import api/xxx
一、gin安装
第一步:下载gin
下载之前要配置好环境变量和go mod,不然可能下载不下来
go get -u github.com/gin-gonic/gin

第二步:简单的http请求
1.新建一个hello项目
2.在项目下添加hello.go文件,文件内容如下:
package main
import "github.com/gin-gonic/gin"
func main() {
// gin.Default()是实例化一个默认的gin示例,便于我们操
r := gin.Default()
// 注册一个GET访问处理函数,路径是根路径
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"name":"zhangsan",
"age":"24",
})
})
r.Run(":8080")
}
文件编译报错, 执行go mod tidy下载缺失的插件即可。
3.然后我们运行它,打开浏览器,输入http://localhost:8080/就可以看到如下内容:
{
"age": "24",
"name": "zhangsan"
}
至此,gin已经能够正常的跑起来了。
2.go-GIN快速入门的更多相关文章
- Golang Module快速入门
前言: 在Golang1.11之前的版本中,官方没有提供依赖和包管理工具.开发者通常会使用vendor或者glide的方式来管理依赖(也有直接使用GOPATH多环境方式),而在Golang1.11之后 ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
- grunt快速入门
快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
随机推荐
- CodeForces 519B A and B and Compilation Errors (超水题)
这道题是超级水的,在博客上看有的人把这道题写的很麻烦. 用 Python 的话是超级的好写,这里就奉上 C/C++ 的AC. 代码如下: #include <cstdio> #includ ...
- leetcode 83. 删除排序链表中的重复元素 及 82. 删除排序链表中的重复元素 II
83. 删除排序链表中的重复元素 问题描述 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: ...
- 【笔记】golang中使用protocol buffers的底层库直接解码二进制数据
背景 一个简单的代理程序,发现单核QPS达到2万/s左右就上不去了,40%的CPU消耗在pb的decode/encode上面. 于是我想,对于特定的场景,直接从[]byte中取出字段,而不用完全的把整 ...
- 【海淘域名】GoDaddy账户被锁定后的解决方法
转载自[美国海淘网]http://www.usahaitao.com/Experience/Detail_2886.html 通过ICANN申诉顺利的从国内无良奸商(35互联与商务中国,小编的域名 ...
- cesium结合geoserver利用WFS服务实现图层编辑(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- jvm锁的四种状态 无锁状态 偏向锁状态 轻量级锁状态 重量级锁状态
一:java多线程互斥,和java多线程引入偏向锁和轻量级锁的原因? --->synchronized是在jvm层面实现同步的一种机制. jvm规范中可以看到synchronized在jvm里 ...
- 676. Implement Magic Dictionary
Implement a magic directory with buildDict, and search methods. For the method buildDict, you'll be ...
- Postman 支持 gRPC 了!继续领先 ~
最近国产API管理工具比较热,几款产品在API管理层面做得也都还不错,但主要还是对HTTP相关的API管理,毕竟这类API的应用目前还是最为广泛的.但显然,还有不少其他应用场景目前没有覆盖到,DD在之 ...
- 「数据结构」Link-Cut Tree(LCT)
#1.0 简述 #1.1 动态树问题 维护一个森林,支持删除某条边,加入某条边,并保证加边.删边之后仍然是森林.我们需要维护这个森林的一些信息. 一般的操作有两点连通性,两点路径权值和等等. #1.2 ...
- Ubuntu更换镜像源
不同的源 当修改sources.list文件时,我们需要将下面任意一个镜像源的代码复制粘贴到该文件中. 阿里源 # 阿里镜像源 deb http://mirrors.aliyun.com/ubuntu ...