[TOC]
### 初始化项目
```
# 创建自己的代码目录并进入
mkdir -p ~/work/go/gin-learn
# 进入目录
cd $_
# 创建go.mod
# go mod init <module_name>
go mod init gin-learn
```
### 打开编辑器
![](https://img.kancloud.cn/09/46/09469b19e937318c10926cdf4476c45c_1418x818.png)
选择启用Go集成
![](https://img.kancloud.cn/82/b5/82b5d10e62c3a66018e52a7b00919656_2918x1748.png)
![](https://img.kancloud.cn/a8/9b/a89bcd43be728684f77b166f0b2ddfbb_916x708.png)
由于GO的库大部分都是在github, 国内访问速度较慢,可以设置 GOPROXY 来加速国内访问
我的设置是: `GOPROXY=https://goproxy.cn,direct`
### 下载gin并进行测试
```
go get -u github.com/gin-gonic/gin
```
编写测试代码
1. 在根目录创建文件 `main.go` 内容如下
```
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run()
}
```
上面的代码的意思是:引入了gin的库,然后 创建了一个 gin的引擎,接着增加了一个 地址为 `{DOMAIN}/ping` 的路由,这个路由在被请求后返回一个 http 状态为 200的 json信息
最后是启动服务, 默认监听的端口是 8080 , 可以通过写 `r.Run(":8080")` 这样的方式来指定具体的监听端口
2. 启动服务
命令行输入`go run main.go `即可启动服务
![](https://img.kancloud.cn/ea/49/ea491bc02ec3152c9b6961c4ff767f01_1684x460.png)
或者直接使用编辑器启动
![](https://img.kancloud.cn/15/20/1520fb99476ce54ac096fda86c305887_1270x702.png)
![](https://img.kancloud.cn/e4/ab/e4ab5582ef6424226f94c4bdcfa59c03_706x246.png)
3. 测试请求
```
# 终端输入
curl -X GET "http://localhost:8080"
# 浏览器访问
```
![](https://img.kancloud.cn/43/fc/43fc418a0660ef791fd32133ae0b0a09_1016x154.png)