开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:收支软件-明细和登记收入】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/626/detail/9713
收支软件-明细和登记收入
一、功能2:完成可以显示明细和登记收入的功能
1. 思路分析:
(1)因为需要显示明细,所以定义一个变量 details string 来记录
(2)还需要定义变量来记录余额(balance)、每次收支的金额(money)、每次收支的说明(note)。
2. 走代码
package main
import(
‘’fmt”
)
func main(){
//声明一个变量,保存接受用户输入的选项
key:=””
//声明一个变量,控制是否退出for
loop:=true
新定义的一些必要的变量 balance、money、note、details
//定义账户的余额[初始的时候预设有10000元]
balance:=10000.0
//每次收支的金额
money:=0.0
//每次收支的说明
note:=””
//收支的详情,使用字符串来记录
//当有收支时,只需要对 details 进行拼接处理即可
details:=”收支\t账户金额\t收支金额\t说明”(注:\t格式化)
//显示这个主菜单
for{
fmt.Println(“\n-----家庭收支记账软件-----”)
(注:\n用来换行,使得显示更加美观,方便查看)
fmt.Println(“1 收支明细”)
fmt.Println(“2 登记收入”)
fmt.Println(“3 登记支出”)
fmt.Println(“4 退出软件”)
fmt.Println(“请选择(1-4)”)
fmt.Scanln(&key)
switch key{
case”1”:
fmt.PrintIn(“-----当前收支记录-----”)
fmt.PrintIn(details)(注:对进行拼接处理的details进行输出)
case”2”: (注:由界面可知,需要增加收入金额和收入说明)
fmt.PrintIn(“本次收入金额“)
fmt.Scanln(&money)
balance += money
//修改账户余额
fmt.PrintIn(“本次收入说明“)
fmt.Scanln(¬e)
//将这个收入情况拼接到 details 变量
//收入 11000 1000 有人发红包
details += fmt.Sprintf
(“收入\t%v\t%v\t%v“,balance,money,note)
(注:拼接操作,v表示变量,第一个v表示 balance,第二个v表示 money,第三个v表示 note)
case”3”:
fmt.PrintIn(“登记支出”)
case”4”:
loop=false
default:
fmt.PrintIn(“请输入正确的选项”)
}
if !loop{
break
}
}
fmt.PrintIn(“退出家庭记账软件的使用”)