当前位置: 首页 > 文档资料 > Tango 使用指南 >

Tango介绍

优质
小牛编辑
146浏览
2023-12-01

Tango 是一个微内核易扩展的Go语言Web框架,他兼有Beego的效率和Martini的中间件设计。

简介

安装Tango:

  1. go get github.com/lunny/tango

一个经典的Tango例子如下:

  1. package main
  2. import (
  3. "errors"
  4. "github.com/lunny/tango"
  5. )
  6. type Action struct {
  7. tango.JSON
  8. }
  9. func (Action) Get() interface{} {
  10. if true {
  11. return map[string]string{
  12. "say": "Hello tango!",
  13. }
  14. }
  15. return errors.New("something error")
  16. }
  17. func main() {
  18. t := tango.Classic()
  19. t.Get("/", new(Action))
  20. t.Run()
  21. }

然后在浏览器访问http://localhost:8000, 将会得到一个json返回

  1. {"say":"Hello tango!"}

如果将上述例子中的 true 改为 false, 将会得到一个json返回

  1. {"err":"something error"}

这段代码因为拥有一个内嵌的tango.JSON,所以返回值会被自动的转成Json。具体返回可以参见以下文档。

特性

  • 强大而灵活的路由设计
  • 兼容已有的http.Handler
  • 模块化设计,可以很容易写出自己的中间件
  • 高性能的依赖注入方式

中间件

中间件让你像AOP编程那样来操作你的Controller。

目前已有很多 中间件 - github.com/tango-contrib,可以帮助你快速完成工作:

  • recovery - recover after panic
  • compress - Gzip & Deflate compression
  • static - Serves static files
  • logger - Log the request & inject Logger to action struct
  • param - get the router parameters
  • return - Handle the returned value smartlly
  • context - Inject context to action struct
  • session - Session manager
  • xsrf - Generates and validates csrf tokens
  • binding - Bind and validates forms
  • renders - Go template engine
  • dispatch - Multiple Application support on one server
  • tpongo2 - Pongo2 teamplte engine support
  • captcha - Captcha
  • events - Before and After
  • flash - Share data between requests
  • debug - show detail debug infomaton on log
  • basicauth - basicauth middleware

获得帮助