Go框架Iris

安装和简易使用

Posted by Gavin on July 8, 2019

花红易衰似郎意

水流无限似侬愁

前言

介绍

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!"}
}

资料

  1. GO中文网
  2. Iris官网
  3. Iris GitHub
  4. Iris中文文档