tango

Micro & pluggable web framework for Go

Github stars Tracking Chart

Tango 简体中文

CircleCI codecov

Join the chat at https://img.shields.io/discord/323705316027924491.svg

Tango Logo

Package tango is a micro & pluggable web framework for Go.

Current version: v0.5.0 Version History

Getting Started

To install Tango:

go get github.com/lunny/tango

A classic usage of Tango below:

package main

import (
    "errors"
    "github.com/lunny/tango"
)

type Action struct {
    tango.JSON
}

func (Action) Get() interface{} {
    if true {
        return map[string]string{
            "say": "Hello tango!",
        }
    }
    return errors.New("something error")
}

func main() {
    t := tango.Classic()
    t.Get("/", new(Action))
    t.Run()
}

Then visit http://localhost:8000 on your browser. You will get

{"say":"Hello tango!"}

If you change true after if to false, then you will get

{"err":"something error"}

This code will automatically convert returned map or error to a json because we has an embedded struct tango.JSON.

Features

  • Powerful routing & Flexible routes combinations.
  • Directly integrate with existing services.
  • Easy to plugin features with modular design.
  • High performance dependency injection embedded.

Middlewares

Middlewares allow you easily plugin features for your Tango applications.

There are already many middlewares to simplify your work:

Documentation

Discuss

Cases

License

This project is under BSD License. See the LICENSE file for the full license text.

Main metrics

Overview
Name With Ownerlunny/tango
Primary LanguageGo
Program languageHTML (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2014-12-17 03:07:09
Pushed At2019-05-17 03:31:14
Last Commit At2019-05-17 11:31:10
Release Count16
Last Release Namev0.5.6 (Posted on )
First Release Namev0.1 (Posted on )
用户参与
Stargazers Count827
Watchers Count72
Fork Count109
Commits Count237
Has Issues Enabled
Issues Count38
Issue Open Count8
Pull Requests Count13
Pull Requests Open Count1
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private