很喜欢 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 条回复
qq1340691923
2021-10-15 09:16:45 +08:00
go 怎么就不适合做大型项目了,字节跳动,bilibili,七牛云都被你吃了?大型项目应该是微服务,多语言合作的
marcosteam
2021-10-15 09:35:46 +08:00
@Zchary Fiber 真的香
liuhan907
2021-10-15 09:41:13 +08:00
@abersheeran 什么合适用啥,我很喜欢用 go 写工具,部署起来那叫一个爽。但是写业务是不行,我有点受不了。业务我们换 C#了,忙的时候还能从客户端借人
killerv
2021-10-15 10:02:40 +08:00
@iPhone9 ORM 对于工程化、可维护性、安全性、便利性都有很大的意义,项目稍微复杂些,手写 SQL 很难维护的。
ylsc633
2021-10-15 10:12:14 +08:00
go 就是简洁, 高效

开发效率不一定高, 但也有一定的好处就是依赖少, 代码比较清晰

至于说到大项目, go 的云方向比较成熟, 大的项目服务基本都被拆分成微服务, 然后部署在主要语言为 go 的 云平台上

小公司喜欢整个项目代码在一个 project 里一把唆, 稍微大点的公司都会进行拆分吧...


至于 orm, 小公司为了开发效率,而且量级不大,基本用开源的比较好, 节约开发时间,减少不必要的 sql 语句错误,这个跟语言没啥关系

目前我个人 对 简洁依赖少 和 强大依赖多

我选择前者
brucedone
2021-10-15 10:18:47 +08:00
全家桶的话,goframe 啊,有工程人员的工具包,拿着用就好了
BeautifulSoap
2021-10-15 10:40:19 +08:00
@iPhone9 不会吧不会吧,一看你就是连手写数据库都不会,只能用 sql 装逼的菜鸡啊。

@kkocdko 可能 iPhone9 这位老哥家里人有变故,导致心态大便了,才狗嘴里吐不出象牙吧。表示同情,希望人没事
FightPig
2021-10-15 10:49:22 +08:00
最早用 go 时用的 gin,后来发现 gin 的路由真的不好用,然后 照着这几个自己封装了一个自己用,想怎么改就怎么改,
Ansen
2021-10-15 10:51:29 +08:00
现在 V 站风气变了,好好的帖子,一下就转变成了人身攻击
Muninn
2021-10-15 11:12:38 +08:00
gorm 挺完善的啊,怎么都说没 orm
yuankui
2021-10-15 11:14:47 +08:00
Java 用惯了,没有依赖注入,各种不适应。

Martini 这个框架挺友好的,支持依赖注入。
liuhan907
2021-10-15 11:34:34 +08:00
@Muninn gorm 这个呢,就是用起来还行,但是总会有各种不爽的地方。另外一个好用的 ORM 不光要能映射查询结果,还要能自动 diff 差异然后 save,这点上 Go 没有能做的。另外就是受限于语法,查询条件怎么写都很难看和繁琐,最后还得依赖 codegen 生成一大堆 QueryXXX 的方法。
encro
2021-10-15 11:38:31 +08:00
“最近才开始学习了下 Go,感觉很棒,方法前面加一个 go 就变成了协程运行,不过用 chan 来做数据交互可读性确实没有 async/await 好。”

怎么能将 chan 和 async 比呢,和 async 比的是 go,chan 解决的是携程通信和管理问题。这个是 node 所没有的。
TtTtTtT
2021-10-15 11:57:50 +08:00
ORM 有一个小的好处,就是在数据中间件更换的时候,有一个相对一致的中间层帮你处理了一些更新带来的问题。

而且随着软件规模的扩张,任何单体程序都需要类似 Spring 一样的框架完成依赖注入,总归是会趋同演化的嘛~
sudoy
2021-10-15 13:07:46 +08:00
又骗我学 go 系列哈哈哈
mingsz
2021-10-15 14:05:43 +08:00
开始用的 echo 后来用了 gin 感觉差不多
smallX
2021-10-15 14:41:31 +08:00
orm 生产力工具啊,特别是小项目
wryyyyyyyyyyyy
2021-10-15 15:17:04 +08:00
@liuhan907 自己封装一下 sql,比 orm 好用,以后任何项目都能用,不会像 orm 那样有一些奇怪的写法,不知道的还得查。
wklken
2021-10-15 15:35:03 +08:00
可以看看 chi 和 gin, 最终会发现还是 gin 好用
byte10
2021-10-15 15:58:25 +08:00
@qq1340691923 C 语言也有大型项目,但是它不适合做大型业务项目,GO 比 C 语言好一些,但是语法还是很鸡肋,跟 js 语法差不多, 很简陋,就是那种小刀, 适合写小工具,多人团队合作相对 java 和 C++, python,C# 弱一些。

现在有了微服务,所有的服务都相对比较简单,业务比较聚合和单一,所以 go 语言还是可以做大型项目的。

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

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

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

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

© 2021 V2EX