88 lines
1.9 KiB
Markdown
88 lines
1.9 KiB
Markdown
# 计算器项目
|
||
|
||
这是一个简单的命令行计算器项目,演示了 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. 添加单位换算功能 |