ThinkGo 是一个轻量级的 Go 语言 MVC 框架,目前支持路由、中间件、控制器、请求、响应、Session、视图、日志等 web 框架应该具备的基本功能,致力于让代码简洁、富于表达力,帮助开发者快速构建一个 Web 应用。
go get -u 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()
}
GitHub: https://github.com/thinkoner/thinkgo
Gitee: https://gitee.com/thinkgo/thinkgo
请大佬们来指点指点,贡献贡献代码啊。。。
1
fullpowers 2019-01-29 13:51:39 +08:00
年轻人喜欢折腾啊
|
2
loading 2019-01-29 13:55:46 +08:00 via Android
thinkphp 没用过,目前在用 gin。
在补充轮子。 |
3
techone OP 快来一起造轮子
|
4
Immortal 2019-01-29 14:25:46 +08:00 1
大佬很强
但感觉这样又会失去 go 的味道 成了另一种 php? |
5
2805408253 2019-01-29 14:31:14 +08:00
@loading 产线有 gin 高并发使用的吗
|
6
loading 2019-01-29 14:41:28 +08:00 via Android
@2805408253 目前我觉得我其实只用了路由……
|
7
nimrc 2019-01-29 14:46:54 +08:00
beego 已经实现了你的想法,且已经被喷成狗屎
|
8
xkeyideal 2019-01-29 14:49:28 +08:00
说句批评的话,先不看代码质量如何,go web 不需要 php 那种一把索的框架。
一直反对全家桶的方案 |
9
xkeyideal 2019-01-29 14:52:36 +08:00
看了一下,只看了路由匹配算法,楼主采用的是正则,这就没有了性能可言。
|
10
TIGERB 2019-01-29 14:57:50 +08:00
挺不错,但是 go 真的不适合 mvc
|
12
keysona 2019-01-29 15:09:12 +08:00 1
公司项目在用 gin,不过新特性加得比较慢,而且感觉维护者也不怎么上心,相对隔壁 iris 而言。
最近在研究 iris 了。 |
16
Hellert 2019-01-29 15:58:59 +08:00
在前后端分离的情况下,golang web 主要还是写 api server 的多,由于 net/http 实现了绝大部分功能(自带 web 服务器,这个 php 不能比 😁),所以有 gin, echo 这种路由+中间件的库足够用了,再外加一些第三方的 session, validation 包,就可以处理绝大多数场景,用大而全的只会增加性能负担。
|
18
reus 2019-01-29 16:43:35 +08:00
老式 mvc 框架还不如直接 beego。
新式 api 服务器不需要这些多余的。 |
19
AngryPanda 2019-01-29 16:50:39 +08:00
所以 laravel 和 thinkphp 在你看来,是一样的?
|
20
techone OP @AngryPanda 来来来,讨论一下
|
21
techone OP @reus 框架的目的是快速开发,框架带的东西不一定都要求用啊,好比 beego,可以 beego+gorm,不一定非用 beego orm
|
22
danc 2019-01-29 20:57:34 +08:00
正好,我今天也搞了一个,https://github.com/danclive/start,大佬多多交流啊,我以前也搞过 php
|
23
mamahaha 2019-01-29 21:09:42 +08:00
把.php 改成.go ,任务完成。
|
26
hp66722667 2019-02-01 14:50:35 +08:00
php 是世界上最好的语言
|
27
bzeron 2019-02-02 10:28:38 +08:00 1
大佬们,你们好,我之前也封装了一个 gin 的 https://github.com/bzeron/gin-web
|
28
techone OP @hp66722667 你说的很对
|