前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【One by one系列】一步步学习Golang web框架Gin

【One by one系列】一步步学习Golang web框架Gin

作者头像
DDGarfield
发布于 2022-06-23 08:49:02
发布于 2022-06-23 08:49:02
24300
代码可运行
举报
文章被收录于专栏:加菲的博客加菲的博客
运行总次数:0
代码可运行

一步步学习Golang web框架Gin

建立项目

go mod 管理依赖

cd $gopath\src\github.com\carfield\Webapi

go mod init如果不是在gopath下,其实也是提倡不在gopath下做开发,

go mod init后需要跟具体路径

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

go mod init github.com\carfield\Webapi
go get -u github.com/gin-gonic/gin

就可以看到在src\github.com\carfield\Webapi 生成了go.mod文件

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

module github.com/carfield

go 1.13
下载gin包

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

ps:由于众所周知的原因,大概率是下不动,所以请修改代理

修改代理

go env -w GOPROXY=https://goproxy.cn,direct

再次执行

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

再次打开go.mod文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
module github.com/carfield

go 1.13

require (
 github.com/gin-gonic/gin v1.5.0 // indirect
 github.com/go-playground/universal-translator v0.17.0 // indirect
 github.com/go-sql-driver/mysql v1.5.0 // indirect
 github.com/json-iterator/go v1.1.9 // indirect
 github.com/leodido/go-urn v1.2.0 // indirect
 github.com/mattn/go-isatty v0.0.11 // indirect
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
 github.com/modern-go/reflect2 v1.0.1 // indirect
 golang.org/x/sys v0.0.0-20200117145432-59e60aa80a0c // indirect
 gopkg.in/go-playground/validator.v9 v9.31.0 // indirect
 gopkg.in/yaml.v2 v2.2.7 // indirect
)

  • module定义包名
  • require用来定义依赖包及版本
  • indirect表示间接引用

快速开始

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

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

import (
 "net/http"

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

func main() {
 r := gin.Default()
 r.GET("/", func(c *gin.Context) {
  c.JSON(http.StatusOK, gin.H{
   "message": "hello,go-gin wholeheartedly at your service",
  })
 })

 
 r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲的博客 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
GO 依赖管理工具go Modules(官方推荐)
以前写过一篇关于go管理依赖包工具 dep的文章,当时认为dep将会成为官方依赖工具,现在看来是自己图样图斯内幕破了,正如官方一直提到dep是“official experiment”官方实验项目的那样,随着go modules 在go1.11版推出,go1.12版功能不断改进,再到go1.13版完善优化,正式扶正。预计dep将来也只能定格在“official experiment”了。
孤烟
2020/09/27
1.8K1
2022-04-05:golang中go.mod文件,做框架开发需要解析,请问如何解析?
2022-04-05:golang中go.mod文件,做框架开发需要解析,请问如何解析?
福大大架构师每日一题
2022/04/05
2080
层次分明井然有条,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang包管理机制(package)EP10
    Go lang使用包(package)这种概念元素来统筹代码,所有代码功能上的可调用性都定义在包这个级别,如果我们需要调用依赖,那就“导包”就行了,无论是内部的还是外部的,使用import关键字即可。但事情往往没有那么简单,Go lang在包管理机制上走了不少弯路,虽然1.18版本的包管理已经趋于成熟,但前事不忘后事之师,我们还是需要了解一下这段历史。
用户9127725
2022/09/21
2520
Go 编程 | 连载 21 - Go Modules 和 Package
GOPATH 是 Go 语言中使用的一个环境变量,它使用绝对路径提供项目的共工作目录,GOPATH 适合处理大量 Go 语言源码、多个包组合而成的复杂工程。
RiemannHypothesis
2022/09/28
5200
Golang Module的使用 顶
注意:go mod 还有一些其他比较有意思的工具,比如可以打印依赖树,比如可以查看哪些模块在哪些包引用了
BGBiao
2019/09/09
1.3K0
Go语言学习(十)| module 使用
go module 是在go 1.11版本才开始有的,需要将环境变量 GO111MODULE 设置为 on 才能正常使用
Mervyn
2020/07/21
3910
用go-module作为包管理器搭建go的web服务器
本篇博客主要介绍了如何从零开始,使用Go Module作为依赖管理,基于Gin来一步一步搭建Go的Web服务器。并使用Endless来使服务器平滑重启,使用Swagger来自动生成Api文档。
SH的全栈笔记
2019/10/20
1.7K0
go mod与 govendor 区别与使用
这句话的意思是:把 go mod init 后下载的相关依 赖包(Gopath 的 pkg) 目录,拷贝到 vendor 目录。
王小明_HIT
2021/07/05
1.5K0
Go——依赖管理
在Go1.5 release的版本的发布vendor目录被添加到除了GOPATH和GOROOT之外的依赖目录查找的解决方法。 查找依赖包路径的解决 当前包下的vendor目录 先上级的目录查找,直到找到scr的vendor目录 在GOPATH下面查找依赖包 在GOROOT目录下查找
羊羽shine
2019/05/29
1.4K0
急如闪电快如风,彩虹女神跃长空,Go语言高性能Web框架Iris项目实战-初始化项目ep00
    在Golang Web编程的世界里,君不言高性能则已,言高性能必称Iris。彩虹女神的名号响彻寰宇、名动江湖,单论一个快字,无人能出其右,就连以简洁轻量著称于世的Gin也难以望其项背,只见彩虹女神Iris回眸一笑撩人心扉:“虽然你们也不是那么慢,但我还是快那么一点点......”,本次就让我们来一睹彩虹女神Iris的芳颜,感受宇宙最快Web框架的神乎其神。
用户9127725
2022/09/21
3300
gRPC 的使用
seth-shi
2023/12/18
2370
GoLang 新版包管理 -- go module 的使用
上一篇文章中,我们介绍了 GoLang 中包的使用与包管理机制。 GoLang 包的使用与管理
用户3147702
2022/06/27
2.4K0
GoLang 新版包管理 -- go module 的使用
[日常] gocron源码阅读-使用go mod管理依赖源码启动gocron
从 Go1.11 开始,golang 官方支持了新的依赖管理工具go mod go mod download: 下载依赖的 module 到本地 cache go mod edit: 编辑 go.mod go mod graph: 打印模块依赖图 go mod init: 在当前目录下初始化 go.mod(就是会新建一个 go.mod 文件) go mod tidy: 整理依赖关系,会添加丢失的 module,删除不需要的 module go mod vender: 将依赖复制到 vendor 下 go mod verify: 校验依赖 go mod why: 解释为什么需要依赖
唯一Chat
2019/11/14
8820
Golang官方依赖管理工具dep学习使用笔记
今天在看一个内部项目的时候发现内部一个项目的体积非常大,一看原来是vendor占了很大空间。里面的库都是静态提交到git库的,更新和管理都很不方便,想想java开发中的maven多好用啊。之前也知道golang一直在开发类似的东西,借这个机会了解了一下,golang也已经有了这样的工具了:godep。所以赶紧拿来研究一下看看怎么用起来,用了之后发现,哎,还挺好用的。管理起来非常便捷,不过要吐槽的还是公司的网络环境,好蛋疼啊!
黑光技术
2019/03/06
1.5K0
Golang官方依赖管理工具dep学习使用笔记
Go编程之相关命令工具记录
该命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装,整个过程类似安装App一样;
全栈工程师修炼指南
2022/09/29
6280
go modules:使用 mod 管理项目依赖包,通过vendor实现一键分发编译包
在go语言1.11版本之前,没有modules机制,所有软件包都在安装在$GOPATH/src目录下。不同项目如果引用了同一个软件包的不同版本,就会造成编译麻烦。修改$GOPATH变量是当时一种比较简单的解决方案。
LIYI
2020/03/25
6.6K0
go mod使用
最近由于换工作,开始交接工作。整理以前的工作内容,由于组内就我一个在做go和大数据。 所以开发没有规划,当时是怎么快怎么来。go也是使用最传统的go path的方式管理的。都是手动管理依赖的。现在交接给他人,需要多人开发,发现很多问题。比如版本问题,各种依赖的问题等等。
若与
2020/05/18
1.6K0
Go Modules 详解
Go 1.11 和 Go 1.12 包含了初步的 Go Modules 支持,且计划在 2019 年 8 月发布的 Go 1.13 会在所有开发过程中默认使用 Go Modules。
码农编程进阶笔记
2021/07/20
8730
Go Modules 详解
Golang学习笔记,从入门到精通,持续记录
Golang官网:https://go.dev/、Golang下载:https://go.dev/、Golang学习文档:https://go.dev/doc/
房东的狗丶
2023/02/17
1.3K0
Go mod包依赖管理工具使用详解
对比上面几点: 目前做的最好的也就 maven了,gradle没有使用过,不知道。
OwenZhang
2021/12/08
1K0
Go mod包依赖管理工具使用详解
推荐阅读
相关推荐
GO 依赖管理工具go Modules(官方推荐)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验