Gin 的特点
简单易用:Gin 提供了一组简单的 API,使用起来非常方便。
高性能:Gin 在性能方面表现优秀,常常可以达到接近原生性能的水平。
支持中间件:Gin 支持使用中间件来扩展框架的功能,可以方便地实现认证、日志、跨域等功能。
支持多种模板引擎:Gin 可以使用多种模板引擎来渲染 HTML 模板,例如 Pongo2、Amber、Gin-Artemis 等。
查看环境
安装 golang 环境
查看环境
可能出现的错误:go: go.mod file not found in current directory or any parent directory.
go env //查看环境变量
go env | grep -E 'GO111MODULE|GOPROXY' //查看相关配置
export GO111MODULE=on
export GO111MODULE=auto //mac
set GO111MODULE=auto //windows
GO111MODULE=off,无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
GO111MODULE=on,模块支持,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
1.当前目录在GOPATH/src之外且该目录包含go.mod文件,开启模块支持。
2.当前文件在包含go.mod文件的目录下面。
注:
在使用go modules时,GOPATH是无意义的,不过它还是会把下载的依赖存储在$GOPATH/pkg/mod 中
也会把go install 的结果放在 $GOPATH/bin 中。
当modules 功能启用时,依赖包的存放位置变更为$GOPATH/pkg
允许同一个package多个版本并存,且多个项目可以共享缓存的module。
#修改代理:
GOPROXY="https://proxy.golang.org,direct" //这个地址已经被墙了,访问不了
go env -w GOPROXY=https://goproxy.cn,direct
export GOPROXY=https://goproxy.cn,direct //mac操作
复制代码
初始化项目
在自己的项目下生成 go.mod
go mod init "自己项目的项目名"
go mod init MyFristProject
复制代码
安装 Gin
go get -u github.com/gin-gonic/gin
复制代码
至此安装完成
Demo 测试
创建示例工程目录 gin_myfrist
新建 gin.go 文件
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
// 初始化gin对象
g := gin.Default()
// 设置一个get请求,其URL为/hello,并实现简单的响应
g.GET("/hello", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "hello world!",
})
})
// 启动服务
g.Run()
}
复制代码
3.运行--->直接运行 或者 在项目目录下执行命令 go run gin.go
此时,Web Server 监听 8080 端口,访问 http://localhost:8080/hello, 则会响应:
{"message":"hello world!"}
复制代码
评论