Skip to content

Commit 7bac079

Browse files
authored
Update README.md
1 parent 0e8772a commit 7bac079

File tree

1 file changed

+64
-1
lines changed

1 file changed

+64
-1
lines changed

README.md

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,64 @@
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

0 commit comments

Comments
 (0)