开始

    一个经典的Tango例子如下:

    1. import (
    2. "errors"
    3. "github.com/lunny/tango"
    4. )
    5. type Action struct {
    6. tango.JSON
    7. }
    8. func (Action) Get() interface{} {
    9. if true {
    10. return map[string]string{
    11. }
    12. }
    13. return errors.New("something error")
    14. }
    15. func main() {
    16. t := tango.Classic()
    17. t.Get("/", new(Action))
    18. //指定监听端口
    19. //t.Run("0.0.0.0:8080")
    20. //HTTPS支持
    21. //t.RunTLS("server.crt","server.key")

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

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

    这段代码因为拥有一个内嵌的tango.JSON,所以返回值会被自动的转成Json

    使用

    Tango 对象是所有事情的开始。通常,我们只通过调用tango.Classic()就可以创建一个Tango对象,大多数情况都可以满足。如:

    1. import "github.com/lunny/log"
    2. l := log.New(out, "[tango] ", log.Ldefault())
    3. l.SetOutputLevel(log.Ldebug)
    4. t := tango.Classic(l)

    Classic接受的Logger是一个接口,只要实现了Debug, Warn, Error等方法均可,因此您也可以采用自己的Logger组件。

    当然可扩展性体现在你可以自定义,比如你只是想要提供一个静态文件服务,则:

    如果您希望使用第三方的Logger,那么可以调用以下函数。只要这个Logger实现了接口即可。

    • NewWithLog(Logger, ...tango.Handler)