一、go mod安装

1、为什么要安装go mod

在项目中需要某个依赖包,必须使用go get安装,否则运行go run main.go会报错。这种方式在依赖包较多时不便于管理,于是在go1.11版本就有了go modgo 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快速入门的更多相关文章

  1. Golang Module快速入门

    前言: 在Golang1.11之前的版本中,官方没有提供依赖和包管理工具.开发者通常会使用vendor或者glide的方式来管理依赖(也有直接使用GOPATH多环境方式),而在Golang1.11之后 ...

  2. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  3. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  4. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  5. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  7. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  8. grunt快速入门

    快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...

  9. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  10. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. 【Java常用类】BigInteger

    BigInteger Integer类作为int的包装类,能存储的最大整型值为2^31-1,Long类也是有限的, 最大为2 ^63-1.如果要表示再大的整数,不管是基本数据类型还是他们的包装类 都无 ...

  2. Android官方文档翻译 一 Getting Started

    Getting Started 让我们开始吧! Welcome to Training for Android developers. 欢迎来到Android开发者训练营. Here you'll f ...

  3. K8s中的volumes-容器数据存放类型及位置

    学习对象:kubectl explain pod.spec.volumes.pod.spec.containers.image.volumeMounts 介绍Volumes 容器内部也有自己的空间,但 ...

  4. 【刷题-LeetCode】200 Number of Islands

    Number of Islands Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. ...

  5. golang中的rpc开发

    golang中实现RPC非常简单,官方提供了封装好的库,还有一些第三方的库 golang官方的net/rpc库使用encoding/gob进行编解码,支持tcp和http数据传输方式,由于其他语言不支 ...

  6. StringBuffer类(增删改查及长度可变原理)

    1 package cn.itcast.p2.stringbuffer.demo; 2 3 public class StringBufferDemo { 4 5 public static void ...

  7. 图文并茂理解iptables

    原文地址:http://www.zsythink.net/archives/1199 以下是转载内容: iptables详解:图文并茂理解iptables | 朱双印博客 这篇文章会尽量以通俗易懂的方 ...

  8. Open虚拟专用网络

    目录 一:OpenVPN虚拟网络专用 1.简介: 2.OpenVPN的作用 3.远程访问VPN服务 4.OpenVPN两种类型的VPN体系结构 5.全面解析OpenVPN执行流程 6.Openvpn定 ...

  9. springboot 分布式项目,子级项目各自的作用。

    一.分布式项目,需要使用maven搭建. 1.1 父级pro.xml module. <?xml version="1.0" encoding="UTF-8&quo ...

  10. ApacheCN 深度学习译文集 20210112 更新

    新增了六个教程: TensorFlow 2 和 Keras 高级深度学习 零.前言 一.使用 Keras 入门高级深度学习 二.深度神经网络 三.自编码器 四.生成对抗网络(GAN) 五.改进的 GA ...