# gin入门
## 介绍
- gin是一个golang的微框架,封装比较优雅,api友好,源码注释比较明确,具有快速灵活,容错方便等特点
- 对于golang而言,web框架的依赖要比python、java之类的要小的多,完全使用自身net/http包封装的,足够坚定,性能也非常好
- 介质框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范
## 安装
`go get -u -w github.com/gin-gonic/gin`
## 实例
```go
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
// 1. 创建路由
r:=gin.Default()
// 2. 绑定路由规则,执行的函数
// gin.Context, 封装了request和response
r.GET("/",func(c *gin.Context){
c.String(http.StatusOK,"hello world")
})
// 3. 监听端口,默认是8080
r.Run(":8000")
}
```
# gin路由
## 基本路由
- gin 框架中采用的路由库是基于httprouter做的
- 地址为:https://github.com/julienschmidt/httprouter
```go
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
// 1. 创建路由
// 默认使用了2个中间件Logger(),recovery()
r:=gin.Default()
// 也可以创建不带中间件的路由
// r := gin.New()
// 2. 绑定路由规则,执行的函数
// gin.Context, 封装了request和response
r.GET("/",func(c *gin.Context){
c.String(http.StatusOK,"hello world")