花红易衰似郎意
水流无限似侬愁
前言
介绍
GO语言效率高且简单,逐渐成为各主流技术栈。Iris则是目前Go语言生态中最快速的Web框架。本篇博客将记录Iris的安装和简易使用。
安装
命令
go get -u github.com/kataras/iris#可能有点慢,请耐心等待
启动例子
官网示例如下:
package main
import (
"github.com/kataras/iris"
"github.com/kataras/iris/middleware/logger"
"github.com/kataras/iris/middleware/recover"
)
func main() {
app := iris.New()
app.Logger().SetLevel("debug")
app.Use(recover.New())
app.Use(logger.New())
app.Handle("GET", "/", func(ctx iris.Context) {
ctx.HTML("<h1>Welcome</h1>")
})
app.Get("/ping", func(ctx iris.Context) {
ctx.WriteString("pong")
})
app.Get("/hello", func(ctx iris.Context) {
ctx.JSON(iris.Map{"message": "Hello Iris!"})
})
app.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed))
}
运行示例:
go run example.go
打开浏览器
安装成功!
简易使用
MVC架构
Iris提供mvc方式实现代码:
package main
import (
"github.com/kataras/iris"
"github.com/kataras/iris/middleware/logger"
"github.com/kataras/iris/middleware/recover"
"github.com/kataras/iris/mvc"
)
func main() {
app := iris.New()
app.Use(recover.New())
app.Use(logger.New())
mvc.New(app).Handle(new(ExampleController))
app.Run(iris.Addr(":8080"))
}
type ExampleController struct {}
func (c *ExampleController) Get() mvc.Result {
return mvc.Response{
ContentType: "text/html",
Text: "<h1>Welcome</h1>",
}
}
func (c *ExampleController) GetPing() string {
return "pong"
}
func (c *ExampleController) GetHello() interface{} {
return map[string] string {"message":"Hello Iris!"}
}