常见项目目录结构
Go 没有强制规定项目必须怎么分目录。
但后端项目通常会按职责拆分。
一、简单项目结构
小项目可以很简单:
如果只是学习语法、写小工具,这样就够了。
二、后端服务常见结构
说明:
三、为什么用 internal
internal 是 Go 工具链支持的特殊目录。
放在 internal 里的包,只能被父目录及其子目录导入,外部项目不能导入。
这适合放项目内部实现,避免被其他项目误用。
四、按业务分层
例如用户模块:
一次请求大概这样流动:
初学阶段可以先用内存数据或 map 模拟数据库。
五、入口 main.go
cmd/api/main.go:
运行:
六、目录不要过度设计
初学项目不要一上来拆很多层。
可以按项目规模演进:
目录结构是为代码服务的,不是越复杂越专业。

