很喜欢 Echo 框架

2021-10-14 18:24:55 +08:00
 balabalaguguji

个人比较喜欢简洁的框架,最近看了下 go 的 web 框架 Echo,非常喜欢它的设计,看上去挺像 koa2 的。

支持分组中间件,路由中间件,这个很棒。

最近才开始学习了下 Go,感觉很棒,方法前面加一个 go 就变成了协程运行,不过用 chan 来做数据交互可读性确实没有 async/await 好。

另外 Go 的 defer 也很棒。 最棒的是 Go 的程序可以直接生成二进制文件,无需其他依赖直接跑。

还有什么好特性或者不好的地方,大家评论分享下

8719 次点击
所在节点    Go 编程语言
73 条回复
liuhan907
2021-10-15 16:47:27 +08:00
@wryyyyyyyyyyyy 试试看 EFCore 这种使用语言标准库语法的 ORM,你就不觉得自己封装的 SQL 好用了。这东西除了性能比较差外基本没有什么缺点。当然极端复杂 SQL 自动生成比手写的差这个 ORM 共性还是免不了。
gidot
2021-10-15 16:49:08 +08:00
在现实中得受多大委屈的人,才会在这里搞人身攻击,找优越感啊……
iPhone9
2021-10-15 16:57:10 +08:00
@kkocdko 没有没有,刚开始只是和一个 v 友争论,后来纯粹是为了争而争。java 和 python 的 orm 还是很好用的,但是 nodejs 和 golang 与其用 orm 还不如直接 sql 。
iPhone9
2021-10-15 16:59:00 +08:00
团队合作,如果大部分人水平一般的话还是用 orm 会好一点。
iPhone9
2021-10-15 17:04:11 +08:00
另外关于 orm 的争论可以看看 livid 的帖子
https://www.v2ex.com/t/79819
matrix1010
2021-10-15 18:26:23 +08:00
大家可以试试 ent, 虽然比不上 Django orm 但大部分情况下还是非常好用的.另外 codegen 是好东西,Go 写多了越来越喜欢代码生成了,我自己的 redis 缓存框架都是基于代码生成的
BeautifulSoap
2021-10-15 19:03:03 +08:00
@iPhone9 你作为在这贴首先说出 “菜鸡才喜欢 orm” 这种故意钓鱼引战,人身攻击他人的话的人,还好意思把自己的行为美化为所谓“刚开始只是和一个 v 友争论”。自己乱人身攻击别人就别指望别人尊重你。

说真的,在网上乱说话可以,但是放地图炮钓鱼是真的业障重。做这种事情前请先做好被别人骂到失去亲🐎的觉悟。
kidlj
2021-10-15 19:05:48 +08:00
@matrix1010 上边还有人说 ent 不好用,真不知道什么能入了他的法眼。🤷‍♂️
liuhan907
2021-10-15 19:38:21 +08:00
@kidlj 限于 go 本身的话,ent 算是第一级别的了。但是如果你和那些语言特性能让你写的特别好用的 orm 比,那确实是差一个级别。
kidlj
2021-10-15 19:55:52 +08:00
@liuhan907 Ent 还没 1.0 呢,但是它的设计足够出彩,我还没见过能把表关系抽象得这么简单易用的 orm.
liuhan907
2021-10-15 20:29:33 +08:00
@kidlj 讲真的,那个全靠返回一个切片然后搞一堆的定义来描述关系的模式我是真心欣赏不来,太繁琐太麻烦了。而且由于这个模型定义方式的问题,即使用上 codegen 也还是得靠链式调用设置值,也不能直接操作内存对象然后自动 diff 变化保存。总体而言我觉得还是不够好用。关系定义我觉得用 tag 然后依赖 codegen 解析处理可能都比现在这个方式更来的简便。
kidlj
2021-10-15 20:43:59 +08:00
@liuhan907 嗯嗯,起码达成共识了,Ent 是当前 Go 社区里最好的!
zhangv
2021-11-01 21:21:26 +08:00
@ylsc633 不能更同意。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/807866

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX