ThinkGo 是一个轻量级的 Go 语言 MVC 框架,目前支持路由、中间件、控制器、请求、响应、Session、视图、日志、缓存、ORM等 web 框架应该具备的基本功能,ThinkGo 致力于让代码简洁且富于表达力,帮助开发者快速构建一个 Web 应用。
前置
/后置
中间件RFC 5424
规范。go get github.com/thinkoner/thinkgo
package main
import (
"github.com/thinkoner/thinkgo"
"fmt"
"github.com/thinkoner/thinkgo/router"
"github.com/thinkoner/thinkgo/context"
)
func main() {
app := thinkgo.BootStrap()
app.RegisterRoute(func(route *router.Route) {
route.Get("/", func(req *context.Request) *context.Response {
return thinkgo.Text("Hello ThinkGo !")
})
route.Get("/ping", func(req *context.Request) *context.Response {
return thinkgo.Json(map[string]string{
"message": "pong",
})
})
// Dependency injection
route.Get("/user/{name}", func(req *context.Request, name string) *context.Response {
return thinkgo.Text(fmt.Sprintf("Hello %s !", name))
})
})
// listen and serve on 0.0.0.0:9011
app.Run()
}
ThinkGo 采用 Apache 2.0 开源协议发布。
1
techone OP 快来吐槽
|
2
fnh 2019-02-14 13:34:33 +08:00
第 N 个叫 ThinkGo 的 GO 框架
|
3
tulongtou 2019-02-14 13:47:27 +08:00 via iPhone
ThinkPHP 他弟嘛
|
4
luob 2019-02-14 14:26:30 +08:00 1
先 star 一个,然后吐槽:
1. 用 go 语言写东西就是为了躲开全家桶的条条框框限制,老子想怎么写就怎么写,你可以提供一些小工具或者 typedef 原生库做一些渐进增强,写一个全家桶肯定要被很多人鄙视的,做好心理准备。 2. thinkXXX 这个系列的名字真的用烂了,改个名字防臭。 |
5
runningman 2019-02-14 19:02:23 +08:00 via iPhone
记得已经下载了 可否加微信聊 270115861
|
6
techone OP 最像 Laravel 的 Eloquent ORM 的 Go 版:ThinkORM
https://github.com/thinkoner/torm |