写点什么

Go_Gin 之初体验

作者:神木鼎
  • 2023-05-10
    北京
  • 本文字数:1088 字

    阅读完需:约 4 分钟

Go_Gin之初体验

Gin 的特点

  • 简单易用:Gin 提供了一组简单的 API,使用起来非常方便。

  • 高性能:Gin 在性能方面表现优秀,常常可以达到接近原生性能的水平。

  • 支持中间件:Gin 支持使用中间件来扩展框架的功能,可以方便地实现认证、日志、跨域等功能。

  • 支持多种模板引擎:Gin 可以使用多种模板引擎来渲染 HTML 模板,例如 Pongo2、Amber、Gin-Artemis 等。

查看环境

  1. 安装 golang 环境

  2. 查看环境

可能出现的错误:go: go.mod file not found in current directory or any parent directory.

go env  //查看环境变量go env | grep -E 'GO111MODULE|GOPROXY'   //查看相关配置
export GO111MODULE=onexport GO111MODULE=auto //macset 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,directexport 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 测试

  1. 创建示例工程目录 gin_myfrist

  2. 新建 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!"}
复制代码



发布于: 16 分钟前阅读数: 12
用户头像

神木鼎

关注

野生coding 2023-04-25 加入

还未添加个人简介

评论

发布
暂无评论
Go_Gin之初体验_golang_神木鼎_InfoQ写作社区