karldoenitz / Tigo

Tigo is an HTTP web framework written in Go (Golang).It features a Tornado-like API with better performance. Tigo是一款用Go语言开发的web应用框架,API特性类似于Tornado并且拥有比Tornado更好的性能。

Home Page:https://karldoenitz.github.io/Tigo/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Badge LICENSE Go Join the chat at https://gitter.im/karlooper/Tigo Open Source Helpers Go Report Card GoDoc Release
Tigo logo

一个使用Go语言开发的web框架。

相关工具及插件

  • tiger
    tiger是一个专门为Tigo框架量身定做的脚手架工具,可以使用tiger新建Tigo项目或者执行其他操作。
    查看tiger
  • tission
    tission是一个为Tigo定制的session插件。
    查看tission

安装

export GO111MODULE=off; 
go get github.com/karldoenitz/Tigo/...
export GO111MODULE=on; 

升级

export GO111MODULE=off; 
go get -u github.com/karldoenitz/Tigo/...
export GO111MODULE=on; 

升级到指定版本

go get github.com/karldoenitz/Tigo@{version}

示例

Hello Tigo

package main

import (
    "github.com/karldoenitz/Tigo/web"
    "net/http"
)

// DemoHandler handler
type DemoHandler struct {
    web.BaseHandler
}

func (demoHandler *DemoHandler) Get() {
    demoHandler.ResponseAsText("Hello Demo!")
}

// Authorize 中间件
func Authorize(w *http.ResponseWriter, r *http.Request) bool {
    // 此处返回true表示继续执行,false则直接返回,后续的中间件不会执行 
    return true
}

// 路由
var urls = []web.Pattern{
    {"/demo", DemoHandler{}, []web.Middleware{Authorize}},
}

func main() {
    application := web.Application{
        IPAddress:   "127.0.0.1",
        Port:        8888,
        UrlPatterns: urls,
    }
    application.Run()
}

编译

打开终端,进入代码目录,运行如下命令:

go build main.go

运行

编译完成后,会有一个可执行文件main,运行如下命令:

./main

终端会有如下显示:

 INFO     2022/10/07 22:40:36  Server run on: http://127.0.0.1:8080

打开浏览器访问地址http://127.0.0.1:8888/demo,就可以看到Hello Demo。

性能对比

性能对比

文档

点击此处

都有谁在使用Tigo

cube-backup Tencent Xiaomi

鸣谢以下组织的支持

Jetbrains

注意

如果你对此框架感兴趣,可以加入我们一同开发。

About

Tigo is an HTTP web framework written in Go (Golang).It features a Tornado-like API with better performance. Tigo是一款用Go语言开发的web应用框架,API特性类似于Tornado并且拥有比Tornado更好的性能。

https://karldoenitz.github.io/Tigo/

License:MIT License


Languages

Language:Go 100.0%