【One by one系列】一步步学习Golang Web框架Gin
golang作为21世纪的C++,增加了内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算,非常值得学习。Gin 是一个 go 写的 web 框架,具有高性能的优点,同样值得学习。文章为您介绍如何快速构建gin项目,是骡子是马拉出来遛遛。
1.go mod 管理依赖
cd $gopath\src\github.com\carfield
go mod init
就可以看到在src\github.com\carfield 生成了go.mod文件
module github.com/carfield
go 1.13
2.下载gin包
go get -u github.com/gin-gonic/gin
ps:由于众所周知的原因,大概率是下不动,所以请修改代理
2.1修改代理
go env -w GOPROXY=https://goproxy.cn,direct
2.2再次执行
go get -u github.com/gin-gonic/gin
再次打开go.mod文件
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
表示简介引用
3.快速开始
3.1引入gin包
import "github.com/gin-gonic/gin"
3.2 main.go
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")
}
4.运行起来
go run main.go
访问http://localhost:8080
- 原文作者:Garfield
- 原文链接:http://www.randyfield.cn/post/2020-01-21-golang-gin/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。