基本使用
gin是一个高性能的golang web框架,它的代码其实很少,相对于spring来说,搞懂gin真是砍瓜切菜
先来看一下gin的基础用法
import "/gin-gonic/gin"
func Init() {
r := ()
initRoute(r)
()
}
func initRoute(r *) {
("ping", handler)
}
func handler(ctx *) {
(200, "Hello World!")
}
这个例子里,我们启动了一个简单的web服务,使用创建一个Engine对象,Engine是Gin核心中的核心,我们后面会具体讲解。之后通过initRoute注册一个路由,当访问localhost:8080/ping的时候,就会返回Hello World!。
最后调用让服务启动。只需要很少的几行代码,就能通过gin启动一个web服务。我们主要探索它的实现原理,关于gin更多的语言特性和用法这里就不细说了,更多例子可以前往Gin Examples.
Engine
官网解释:Engine是框架的实例,它包含了复用器、中间件和各类配置。
type Engine struct {
// 路由组
RouterGroup
// 如果设置为true,如果/foo/没有匹配到路由,自动重定向到/foo
RedirectTrailingSlash bool
// 和RedirectTrailingSlash类似,对path做一些修正
RedirectFixedPath bool
HandleMethodNotAllowed bool
ForwardedByClientIP bool
// DEPRECATED
AppEngine bool
// 是否通过来获取参数
UseRawPath bool
// If true, the path value will be unescaped.
// If UseRawPath is false (by default), the UnescapePathValues effectively is true,
// as go