做海报设计的网站,网站设计做微信发现界面,外汇平台+网站开发,开发区网站建设工作职责Go语言学习–Gin框架之Hello World 文章目录 Go语言学习--Gin框架之Hello World1. 简介2. 下载gin框架3. 开始HelloWorld 1. 简介 Gin 是一个用 Go (Golang) 编写的 Web 框架。 它具有类似 martini 的 API#xff0c;性能要好得多#xff0c;多亏了 httprouter#xff0c;速…Go语言学习–Gin框架之Hello World 文章目录 Go语言学习--Gin框架之Hello World1. 简介2. 下载gin框架3. 开始HelloWorld 1. 简介 Gin 是一个用 Go (Golang) 编写的 Web 框架。 它具有类似 martini 的 API性能要好得多多亏了 httprouter速度提高了 40 倍。 如果您需要性能和良好的生产力您一定会喜欢 Gin。 以下是Gin框架的一些主要特点和功能 快速基于 Radix 树的路由小内存占用。没有反射。可预测的 API 性能。。支持中间件传入的 HTTP 请求可以由一系列中间件和最终操作来处理。 例如LoggerAuthorizationGZIP最终操作 DB。Crash处理Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样你的服务器将始终可用。例如你可以向 Sentry 报告这个 panicJSON验证Gin 可以解析并验证请求的 JSON例如检查所需值的存在。路由组更好地组织路由。是否需要授权不同的 API 版本…… 此外这些组可以无限制地嵌套而不会降低性能。错误管理Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终中间件可以将它们写入日志文件数据库并通过网络发送。内置渲染Gin 为 JSONXML 和 HTML 渲染提供了易于使用的 API。可扩展性新建一个中间件非常简单。
2. 下载gin框架
# 通过 go 直接下载gin框架
$ go get -u github.com/gin-gonic/gin
go: downloading golang.org/x/net v0.22.0
go: downloading github.com/go-playground/validator/v10 v10.19.0
go: downloading github.com/pelletier/go-toml/v2 v2.2.0
go: downloading github.com/go-playground/validator v9.31.0incompatible
go: downloading github.com/pelletier/go-toml v1.9.5
go: downloading github.com/ugorji/go/codec v1.2.12
go: downloading github.com/ugorji/go v1.2.12
go: downloading google.golang.org/protobuf v1.33.0
go: downloading github.com/bytedance/sonic v1.11.3
go: downloading golang.org/x/sys v0.18.0
go: downloading github.com/gabriel-vasile/mimetype v1.4.3
go: downloading github.com/leodido/go-urn v1.4.0
go: downloading golang.org/x/crypto v0.21.0
go: downloading golang.org/x/text v0.14.0
go: downloading github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d
go: downloading golang.org/x/arch v0.7.0
go: downloading github.com/klauspost/cpuid/v2 v2.2.7
go: downloading github.com/chenzhuoyu/iasm v0.9.0
go: downloading github.com/chenzhuoyu/iasm v0.9.1
go: downloading github.com/stretchr/testify v1.9.0
go: upgraded github.com/bytedance/sonic v1.9.1 v1.11.3
go: upgraded github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 v0.0.0-20230717121745-296ad89f973d
go: added github.com/chenzhuoyu/iasm v0.9.1
go: upgraded github.com/gabriel-vasile/mimetype v1.4.2 v1.4.3
go: upgraded github.com/go-playground/validator/v10 v10.14.0 v10.19.0
go: upgraded github.com/klauspost/cpuid/v2 v2.2.4 v2.2.7
go: upgraded github.com/leodido/go-urn v1.2.4 v1.4.0
go: upgraded github.com/mattn/go-isatty v0.0.19 v0.0.20
go: upgraded github.com/pelletier/go-toml/v2 v2.0.8 v2.2.0
go: upgraded github.com/ugorji/go/codec v1.2.11 v1.2.12
go: upgraded golang.org/x/arch v0.3.0 v0.7.0
go: upgraded golang.org/x/crypto v0.9.0 v0.21.0
go: upgraded golang.org/x/net v0.10.0 v0.22.0
go: upgraded golang.org/x/sys v0.8.0 v0.18.0
go: upgraded golang.org/x/text v0.9.0 v0.14.0
go: upgraded google.golang.org/protobuf v1.30.0 v1.33.0# 如果下载不下来可以考虑使用国内代理 https://goproxy.io/zh/
# 建议收藏该网址# 里面的内容大致如下
### Linux 或者 Mac系统使用下面
# 配置 GOPROXY 环境变量
export GOPROXYhttps://goproxy.io,direct
# 还可以设置不走 proxy 的私有仓库或组多个用逗号相隔可选
export GOPRIVATEgit.mycompany.com,github.com/my/private
###### Windows 的配置如下
# 配置 GOPROXY 环境变量
$env:GOPROXY https://goproxy.io,direct
# 还可以设置不走 proxy 的私有仓库或组多个用逗号相隔可选
$env:GOPRIVATE git.mycompany.com,github.com/my/private
###3. 开始HelloWorld
在开发工具中好代码以Goland为例
package mainimport (net/httpgithub.com/gin-gonic/gin
)func main() {// 创建一个默认的路由引擎r : gin.Default()// GET请求方式/helloworld请求的路径// 当客户端以GET方法请求/helloworld路径时会执行后面的匿名函数r.GET(/helloworld, func(c *gin.Context) {c.String(http.StatusOK, Hello World)})// 启动HTTP服务监听本机的8080端口r.Run(:8080)
}运行程序
# 运行刚刚写的程序
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery m
iddleware already attached.[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.[GIN-debug] [WARNING] Running in debug mode. Switch to release mode in production.- using env: export GIN_MODErelease- using code: gin.SetMode(gin.ReleaseMode)[GIN-debug] GET /helloworld -- main.main.func1 (3 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Listening and serving HTTP on :8080
# 这边会卡在这边访问
# 访问方式
# 本地浏览器访问
http://127.0.0.1:8080/helloworld访问结果
# 浏览器中展示结果
Hello World# console新增信息
[GIN] 2024/03/21 - 11:03:39 | 200 | 0s | 127.0.0.1 | GET /helloworld