完成
This commit is contained in:
@@ -1,24 +1,88 @@
|
||||
# 计算器项目
|
||||
|
||||
一个支持基本四则运算的命令行计算器程序。
|
||||
这是一个简单的命令行计算器项目,演示了 Go 语言的基本语法和编程概念的综合应用。
|
||||
|
||||
## 功能特性
|
||||
- 支持加法、减法、乘法、除法
|
||||
- 错误处理(如除零错误)
|
||||
## 项目特性
|
||||
|
||||
- 支持基本四则运算(加、减、乘、除)
|
||||
- 支持括号运算
|
||||
- 支持浮点数计算
|
||||
- 错误处理和输入验证
|
||||
- 交互式命令行界面
|
||||
- 输入验证
|
||||
- 历史记录功能
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
01-calculator/
|
||||
├── README.md # 项目说明文档
|
||||
├── main.go # 主程序入口
|
||||
├── calculator/ # 计算器核心包
|
||||
│ ├── calculator.go # 计算器主要逻辑
|
||||
│ ├── parser.go # 表达式解析器
|
||||
│ └── history.go # 历史记录管理
|
||||
└── calculator_test.go # 测试文件
|
||||
```
|
||||
|
||||
## 运行方法
|
||||
|
||||
```bash
|
||||
cd 01-calculator
|
||||
# 进入项目目录
|
||||
cd 10-projects/01-calculator
|
||||
|
||||
# 运行程序
|
||||
go run main.go
|
||||
|
||||
# 或者编译后运行
|
||||
go build -o calculator main.go
|
||||
./calculator
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
```
|
||||
欢迎使用 Go 计算器!
|
||||
请输入第一个数字: 10
|
||||
请选择运算符 (+, -, *, /): +
|
||||
请输入第二个数字: 5
|
||||
结果: 10 + 5 = 15
|
||||
```
|
||||
输入数学表达式,或输入 '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. 添加单位换算功能
|
Reference in New Issue
Block a user