File tree Expand file tree Collapse file tree 1 file changed +64
-1
lines changed
Expand file tree Collapse file tree 1 file changed +64
-1
lines changed Original file line number Diff line number Diff line change 1- # go-web-api-study
1+ # go-web-api-study
2+
3+ 📚 Go 语言 Web 开发与接口开发学习笔记与实践项目集合
4+
5+ > 记录使用 Go (Golang) 进行 Web 开发和 API 接口开发过程中的学习笔记、代码示例、实战项目与最佳实践。
6+
7+ ---
8+
9+ ## 🌱 项目目标
10+
11+ 本仓库旨在系统性地学习和掌握 Go 语言在后端 Web 开发和 RESTful API 开发中的应用,涵盖从基础语法到框架使用、项目结构设计、数据库操作、中间件开发、接口测试等完整技能链。
12+
13+ 适合:
14+ - Go 初学者入门 Web 开发
15+ - 想深入理解 Go 后端工程实践的开发者
16+ - 寻找可复用代码示例的学习者
17+
18+ ---
19+
20+ ## 📚 学习内容概览
21+
22+ | 主题 | 内容 |
23+ | ------| ------|
24+ | ✅ 基础语法回顾 | 变量、函数、结构体、接口、并发等 |
25+ | ✅ HTTP 服务开发 | 使用 ` net/http ` 构建基础 Web 服务 |
26+ | ✅ 路由控制 | 使用 ` gorilla/mux ` 或 ` gin ` 实现路由 |
27+ | ✅ RESTful API 设计 | 请求处理、JSON 序列化、状态码规范 |
28+ | ✅ 中间件开发 | 日志、认证、CORS、限流等 |
29+ | ✅ 数据库操作 | 使用 ` database/sql ` 与 ` GORM ` 操作 PostgreSQL/MySQL |
30+ | ✅ 用户认证 | JWT、Session、OAuth2 基础实现 |
31+ | ✅ 配置管理 | 使用 ` Viper ` 管理配置文件 |
32+ | ✅ 错误处理 | 统一错误响应结构 |
33+ | ✅ 接口测试 | 使用 ` testing ` 包进行单元测试与集成测试 |
34+ | ✅ 项目结构设计 | 推荐的 Go 项目分层结构(如 api, service, model, handler) |
35+ | ✅ 部署实践 | Docker 打包、简单部署流程 |
36+
37+ ---
38+
39+ ## 📁 项目结构示例(建议)
40+
41+ ``` bash
42+ .
43+ ├── cmd/ # 主程序入口
44+ │ └── api/
45+ │ └── main.go
46+ ├── internal/ # 内部逻辑代码
47+ │ ├── handler/ # HTTP 请求处理器
48+ │ ├── service/ # 业务逻辑
49+ │ ├── model/ # 数据结构与数据库模型
50+ │ ├── middleware/ # 自定义中间件
51+ │ └── config/ # 配置加载
52+ ├── pkg/ # 可复用工具包
53+ ├── config/ # 配置文件(如 config.yaml)
54+ ├── api/ # OpenAPI/Swagger 文档(可选)
55+ ├── scripts/ # 脚本(如数据库迁移)
56+ ├── tests/ # 测试代码
57+ ├── go.mod
58+ ├── go.sum
59+ └── README.md
60+
61+
62+ # 克隆项目
63+ git clone https://github.com/你的用户名/go-web-api-study.git
64+ cd go-web-api-study
You can’t perform that action at this time.
0 commit comments