# 计算器项目 这是一个简单的命令行计算器项目,演示了 Go 语言的基本语法和编程概念的综合应用。 ## 项目特性 - 支持基本四则运算(加、减、乘、除) - 支持括号运算 - 支持浮点数计算 - 错误处理和输入验证 - 交互式命令行界面 - 历史记录功能 ## 项目结构 ``` 01-calculator/ ├── README.md # 项目说明文档 ├── main.go # 主程序入口 ├── calculator/ # 计算器核心包 │ ├── calculator.go # 计算器主要逻辑 │ ├── parser.go # 表达式解析器 │ └── history.go # 历史记录管理 └── calculator_test.go # 测试文件 ``` ## 运行方法 ```bash # 进入项目目录 cd 10-projects/01-calculator # 运行程序 go run main.go # 或者编译后运行 go build -o calculator main.go ./calculator ``` ## 使用示例 ``` 欢迎使用 Go 计算器! 输入数学表达式,或输入 'quit' 退出,'history' 查看历史记录 > 2 + 3 结果: 5 > 10 * (5 - 2) 结果: 30 > 15 / 3 结果: 5 > history 历史记录: 1. 2 + 3 = 5 2. 10 * (5 - 2) = 30 3. 15 / 3 = 5 > quit 再见! ``` ## 学习要点 这个项目综合运用了以下 Go 语言特性: 1. **包管理**: 创建和使用自定义包 2. **结构体和方法**: 定义计算器结构体和相关方法 3. **接口**: 定义计算器接口,实现多态 4. **错误处理**: 处理除零错误、语法错误等 5. **字符串处理**: 解析和处理用户输入 6. **切片操作**: 管理历史记录 7. **控制流程**: 使用循环和条件语句 8. **用户交互**: 命令行输入输出 9. **测试**: 编写单元测试验证功能 ## 扩展建议 1. 添加更多数学函数(sin, cos, sqrt 等) 2. 支持变量定义和使用 3. 添加配置文件支持 4. 实现图形用户界面 5. 添加科学计算功能 6. 支持不同进制转换 7. 添加单位换算功能