完成
This commit is contained in:
@@ -1,31 +1,117 @@
|
||||
# 待办事项列表项目
|
||||
|
||||
一个命令行待办事项管理程序,支持添加、删除、标记完成等功能。
|
||||
这是一个命令行待办事项管理程序,演示了 Go 语言在数据持久化、文件操作和用户交互方面的应用。
|
||||
|
||||
## 功能特性
|
||||
- 添加新的待办事项
|
||||
- 查看所有待办事项
|
||||
- 标记事项为完成
|
||||
- 删除待办事项
|
||||
- 数据持久化(保存到文件)
|
||||
## 项目特性
|
||||
|
||||
- 添加、删除、修改待办事项
|
||||
- 标记任务完成状态
|
||||
- 按优先级和状态筛选任务
|
||||
- 数据持久化到 JSON 文件
|
||||
- 彩色命令行界面
|
||||
- 任务搜索功能
|
||||
- 统计信息显示
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
02-todo-list/
|
||||
├── README.md # 项目说明文档
|
||||
├── main.go # 主程序入口
|
||||
├── todo/ # 待办事项核心包
|
||||
│ ├── todo.go # 待办事项数据结构
|
||||
│ ├── manager.go # 任务管理器
|
||||
│ └── storage.go # 数据存储
|
||||
├── ui/ # 用户界面包
|
||||
│ ├── cli.go # 命令行界面
|
||||
│ └── colors.go # 颜色输出
|
||||
├── data/ # 数据文件目录
|
||||
│ └── todos.json # 任务数据文件
|
||||
└── todo_test.go # 测试文件
|
||||
```
|
||||
|
||||
## 运行方法
|
||||
|
||||
```bash
|
||||
cd 02-todo-list
|
||||
# 进入项目目录
|
||||
cd 10-projects/02-todo-list
|
||||
|
||||
# 运行程序
|
||||
go run main.go
|
||||
|
||||
# 或者编译后运行
|
||||
go build -o todo main.go
|
||||
./todo
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
```bash
|
||||
# 添加待办事项
|
||||
go run main.go add "学习 Go 语言"
|
||||
|
||||
# 查看所有事项
|
||||
go run main.go list
|
||||
```
|
||||
=== 待办事项管理器 ===
|
||||
|
||||
# 标记完成
|
||||
go run main.go complete 1
|
||||
命令列表:
|
||||
add <任务> - 添加新任务
|
||||
list - 显示所有任务
|
||||
done <ID> - 标记任务完成
|
||||
delete <ID> - 删除任务
|
||||
edit <ID> <新内容> - 编辑任务
|
||||
search <关键词> - 搜索任务
|
||||
stats - 显示统计信息
|
||||
help - 显示帮助
|
||||
quit - 退出程序
|
||||
|
||||
# 删除事项
|
||||
go run main.go delete 1
|
||||
```
|
||||
> add 学习Go语言
|
||||
✅ 任务已添加: 学习Go语言 (ID: 1)
|
||||
|
||||
> add 完成项目文档
|
||||
✅ 任务已添加: 完成项目文档 (ID: 2)
|
||||
|
||||
> list
|
||||
📋 待办事项列表:
|
||||
[1] ⏳ 学习Go语言 (优先级: 中)
|
||||
[2] ⏳ 完成项目文档 (优先级: 中)
|
||||
|
||||
> done 1
|
||||
✅ 任务已完成: 学习Go语言
|
||||
|
||||
> list
|
||||
📋 待办事项列表:
|
||||
[1] ✅ 学习Go语言 (优先级: 中)
|
||||
[2] ⏳ 完成项目文档 (优先级: 中)
|
||||
|
||||
> stats
|
||||
📊 统计信息:
|
||||
总任务数: 2
|
||||
已完成: 1
|
||||
待完成: 1
|
||||
完成率: 50.0%
|
||||
```
|
||||
|
||||
## 学习要点
|
||||
|
||||
这个项目综合运用了以下 Go 语言特性:
|
||||
|
||||
1. **结构体和方法**: 定义任务和管理器结构体
|
||||
2. **接口设计**: 定义存储和界面接口
|
||||
3. **JSON 处理**: 数据序列化和反序列化
|
||||
4. **文件操作**: 读写 JSON 文件进行数据持久化
|
||||
5. **错误处理**: 完善的错误处理机制
|
||||
6. **字符串处理**: 命令解析和文本处理
|
||||
7. **切片操作**: 任务列表的增删改查
|
||||
8. **时间处理**: 任务创建和修改时间
|
||||
9. **包管理**: 多包项目结构
|
||||
10. **用户交互**: 命令行输入输出
|
||||
11. **测试**: 单元测试和集成测试
|
||||
|
||||
## 扩展建议
|
||||
|
||||
1. 添加任务分类和标签功能
|
||||
2. 支持任务截止日期和提醒
|
||||
3. 实现任务导入导出功能
|
||||
4. 添加任务优先级排序
|
||||
5. 支持批量操作
|
||||
6. 实现 Web 界面
|
||||
7. 添加任务统计图表
|
||||
8. 支持多用户管理
|
||||
9. 集成云端同步
|
||||
10. 添加任务模板功能
|
Reference in New Issue
Block a user