## 要求
- Go 1.6 及以上版本
> 很快会需要 Go 1.8 版本.
## 安装
要安装 Gin 软件包,需要先安装 Go 并设置 Go 工作区。
1.下载并安装 gin:
```sh
$ go get -u github.com/gin-gonic/gin
```
2.将 gin 引入到代码中:
```go
import "github.com/gin-gonic/gin"
```
3.(可选)如果使用诸如 `http.StatusOK` 之类的常量,则需要引入 `net/http` 包:
```go
import "net/http"
```
#### 使用 [Govendor](https://github.com/kardianos/govendor) 工具创建项目
1.`go get` govendor
```sh
$ go get github.com/kardianos/govendor
```
2.创建项目并且 `cd` 到项目目录中
```sh
$ mkdir -p $GOPATH/src/github.com/myusername/project && cd "$_"
```
3.使用 govendor 初始化项目,并且引入 gin
```sh
$ govendor init
$ govendor fetch github.com/gin-gonic/gin@v1.3
```
4.复制启动文件模板到项目目录中
```sh
$ curl https://raw.githubusercontent.com/gin-gonic/examples/master/basic/main.go > main.go
```
5.启动项目
```sh
$ go run main.go
```
## 开始
> 不确定如何编写和执行 Go 代码? [点击这里](https://golang.org/doc/code.html).
首先,创建一个名为 `example.go` 的文件
```sh
$ touch example.go
```
接下来, 将如下的代码写入 `example.go` 中:
```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() // 监听并在 0.0.0.0:8080 上启动服务
}
```
然后, 执行 `go run example.go` 命令来运行代码:
```sh
# 运行 example.go 并且在浏览器中访问 0.0.0.0:8080/ping
$ go run example.go
```
- 介绍
- 快速入门
- 基准测试
- 特性
- Jsoniter
- 示例
- AsciiJSON
- HTML 渲染
- HTTP2 server 推送
- JSONP
- Multipart/Urlencoded 绑定
- Multipart/Urlencoded 表单
- PureJSON
- Query 和 post form
- SecureJSON
- XML/JSON/YAML/ProtoBuf 渲染
- 上传文件
- 单文件
- 多文件
- 不使用默认的中间件
- 从 reader 读取数据
- 优雅地重启或停止
- 使用 BasicAuth 中间件
- 使用 HTTP 方法
- 使用中间件
- 只绑定 url 查询字符串
- 在中间件中使用 Goroutine
- 多模板
- 如何记录日志
- 定义路由日志的格式
- 将 request body 绑定到不同的结构体中
- 支持 Let's Encrypt
- 映射查询字符串或表单参数
- 查询字符串参数
- 模型绑定和验证
- 绑定 HTML 复选框
- 绑定 Uri
- 绑定查询字符串或表单数据
- 绑定表单数据至自定义结构体
- 自定义 HTTP 配置
- 自定义中间件
- 自定义验证器
- 设置和获取 Cookie
- 路由参数
- 路由组
- 运行多个服务
- 重定向
- 静态文件服务
- 静态资源嵌入
- 测试
- 用户
- FAQ