golang 老鸟快快显圣

33 天前
thisisgpy  thisisgpy

背景

我是从一线开发转行到国企做信息化项目管理,朝九晚五,上班基本就是我去 ZF 那边挨骂,然后我转头去骂外包商,基本没什么事。但是我一直放不下自己的技术情节,Java 写了 10 年也腻了,就想用 golang 自己写点东西玩。

现状

我最近尝试用 golang 写一些 web 小玩意儿,但是我很难在网上找到一个适合小项目的项目结构,AI 给的也是大型化的结构。我用 fiber 和 gorm ,viper 做配置文件解析。gorm 的事务管理也比较懵,我都是 cursor 生成。

诉求

请各位针对我只搞小玩意儿的诉求,指点一个 mini 的项目结构,推荐技术选型,指点一下 gorm 的事务控制。

7172 次点击
所在节点   程序员  程序员
91 条回复
root71370
root71370
33 天前
放下 java 思想
xxmaqzas
xxmaqzas
33 天前
gf 不行么?
laikick
laikick
33 天前
laikick
laikick
33 天前
不过小项目根本没啥必要纠结项目结构.
layxy
layxy
33 天前
Kratos 的工程结构可以参考下,虽然是 rpc 框架,但是你写 web 也可以
lesismal
lesismal
33 天前
@laikick golang-standards/project-layout 这个根本不算是好的结构:

而且这个 repo 作者可以算是 go 社区里最不要脸的了,我都不敢用“最不要脸的之一”来描述他、怕“之一”不准确:
https://github.com/golang-standards/project-layout/issues/117

请做个好人,不要再向别人推荐这个带来更多误导。
laikick
laikick
33 天前
@lesismal 是的是的 孩子 你是对的
Ayanokouji
Ayanokouji
33 天前
@lesismal 好巧,我也不喜欢这个目录结构
@thisisgpy 我是基于这个项目改的 https://github.com/mikestefanello/pagoda
lesismal
lesismal
32 天前
> 是的是的 孩子 你是对的

@laikick 其实如果自己不会好好说中文的话,可以完全去混非中文圈,看到过别人喷你、这不是糟蹋自己嘛,何必呢
wogogoing
wogogoing
32 天前
如果是这样的话,那我安利下我的开源项目:

https://github.com/keepchen/go-sail
laikick
laikick
32 天前
@lesismal 你是对的 👍
sn0wdr1am
sn0wdr1am
32 天前
loveuer
loveuer
32 天前
如果是 web 后端的话,我自己有搞一个 https://gitea.loveuer.com/loveuer/ultone
laikick
laikick
32 天前
@sn0wdr1am golang-standards/project-layout 这个根本不算是好的结构:

而且这个 repo 作者可以算是 go 社区里最不要脸的了,我都不敢用“最不要脸的之一”来描述他、怕“之一”不准确:
https://github.com/golang-standards/project-layout/issues/117

请做个好人,不要再向别人推荐这个带来更多误导。
voidmnwzp
32 天前
建议换个用 golang 的公司
mengzhuo
32 天前
吵半天,就没人看看官方文档?

https://go.dev/doc/modules/layout

还有这个 https://go.dev/doc/
yiqiao
32 天前
@lesismal #6 我靠。我好像就是这种结构,那么有没有其他推荐结构呢?#8 给的可以吗?
lasuar
32 天前
有技术情节,咋个连有文档的 gorm 事务都搞不定?怎么个事儿
lesismal
32 天前
@yiqiao go 的代码没像 java 那么臃肿,这种审美问题,符合团队的标准和自己的喜好不影响效率就行。如果已经在用并且习惯了,不改也没问题,实用主义
body007
32 天前
把 gf 官方文档看完,只用 gf 一个库就行。

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

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

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

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

© 2021 V2EX