python和go哪个好找工作,go语言工作好找吗

  python和go哪个好找工作,go语言工作好找吗

  GO语言学习家庭收支核算软件项目1。项目需求描述。基于文本界面的《家庭记账软件》仿真

  2 >这个软件可以记录一个家庭的收入和支出,并且可以打印收入和支出的明细。

  2.项目接口- : 1 -。卖猪肉- : 1 - Y/ny 3。项目代码实现3.1基本功能的实现(先用面向过程,后改面向对象)”功能1:完成后可以显示主菜单,可以退出。

  思维分析:

  首先,主界面完成,显示主菜单。当用户输入4时,程序退出。

  Go代码:

  package import fmt funcmain(){//声明一个变量,保存接收用户输入的option键:= //声明一个变量,控制是否退出循环:=true//显示{fmt.println ( - )fmt的主菜单。Println( 1。收入和支出明细”)FMM普林顿( 4。退出软件)。Print(请选择(1-4):)fmt . scanln(key)switch key { Case 1 :fmt . println(-Case 2 :Case 3):fmtPrintln(已登记支出)case 4 :loop=false default:fmt . println(请输入正确选项)}if!Loop{break}}fmt。Println(已经退出了家用记账软件的使用。)}功能2完成显示详情和登记收入的功能。

  思维分析:

  1)因为需要显示细节,我们定义了一个变量details string来记录。

  2)你还需要定义变量来记录余额,每笔收入和支出(钱)的金额,以及每次

  收入和支出说明

  package import fmt funcmain(){//声明一个变量,保存接收用户输入的option键:=//声明一个变量,控制是否退出循环:=true//定义账户余额balance:=100000.0//每笔收支款项的金额:=0.0//每笔收支的说明备注:= //收支明细用字符串记录。//有收支的时候,只需要拼接明细就可以了。details:=收支\ T帐户余额\ T收支金额T报表//显示{fmt.println ( - )fmt的主菜单。Println( 1。收支明细)fmt.println. T.println (4。退出软件)。Print(请选择(1-4):)fmt . scanln(key)switch key { case 1 :fmt . println(-t . println(details)case 2 :fmtPrintln(本期收益金额:)fmt.scanln(货币)余额=货币//修改账户余额fmt.println(本期收益表:)fmt。Scanln(note)//Make this income,To splice details=fmt . sprintf( \ n income \ t % v \ t % v ,balance,money,note)case 3 :fmt . println( registered expense )case 4 :loop=false default:fmt . println(请输入正确的。Loop{break}}fmt。Println(已经退出了家用记账软件的使用。)}功能三:完成了登记支出的功能。

  思维分析:

  登记支出的功能类似于登记收入的功能。只是做一些修改。

  Go代码:

  案例 3:fmt。Println(该支出的金额)。Scanln(money)//这里需要一个必要的判断,如果moneybalance{fmt。Println(金额余额不足)break } balance-=money fmt . println(此支出描述:)t . scanln(note)details=fmt . sprintf( \ n revenue \ t % v \ t % v ,balance,money,note) 3.2项目代码实现改进1“用户输入4退出时会提示“您确定要退出吗?Y/n ,必须输入正确的y/n,否则,指令将循环输入,直到输入y或n。

  案例 4:fmt。Println(您确定要退出吗?y/n )choice:= for { fmt . scanln(choice)if choice== y choice== n { break } fmt . println(您的输入有误,请重新输入y/n)} ifchoice== y ”。来支笔。"

  //定义一个变量,记录是否有收支行为。flag:=false case 1 :fmt . println(-。“给我一支笔!”)}在情况2中

  在案例3的结尾添加flag=true。

  3.消费时,判断余额是否足够,并给出相应的提示。

  案例 3:fmt。Println(该支出的金额)。Scanln(money)//这里需要一个必要的判断,如果moneybalance{fmt。Println(金额余额不足)break } balance-=money fmt . println(此支出描述:)t . scanln(note)details=fmt . sprintf( \ nreveue \ t % v \ t % v ,balance,money,note) 4 "将面向过程的代码修改为面向对象的方法,编写myFamilyAccount.go

  并使用testMyFamilyAccount.go完成测试。

  思维分析:

  将记账软件的功能封装成一个结构,然后调用该结构的方法实现记账和显示明细。结构的名称:FamilyAccount

  在main方法中,创建一个FamilyAccount结构的实例来实现记账。

  代码实现:

  代码不需要重写,只需要重写和组织。

  package util import( fmt )type family account struct {//声明一个变量,保存接收用户输入的option keystring声明一个变量,控制是否退出循环loop bool//定义账户余额balance float64//每笔收支的金额float64//每笔收支的说明注释字符串//收支明细用一个字符串记录。//当有收入和支出时,只需要拼接细节定义一个变量。记录收支标志bool的行为}//编写要赋予工厂模式的构造方法,返回a * FamiliaAccount实例funcnefamiyaaccount()* FamiliaAccount { return FamiliaAccount { key: ,loop: true,balance: 1000.0,Money: 0.0,note: ,flag: false,details:收支\ tAccount balance \ tRevenue和支出金额\ tExplain ,} }//编写显示细节作为方法func (this * family account)显示细节(){fmt。)} } }//把注册的收入写成一个方法,Bind func(this * family account)income(){ fmt . println(当前收入金额:)fmt . scanln(this . money)this . balance=this.money//修改账户余额fmtPrintln(本损益表:)fmt。Scanln(this.note)//将这笔收入拼接到明细变量this . details=fmt . sprintf( \ n income \ t % v \ t % v ,this.balance,this this . note)this . flag=true }//将登记的支出写成方法,与familia account FUNC(this * familia account)Pay(){ fmt . println( this expense amount:)fmt绑定Scanln(this.money)//这里需要对this.moneythis.balance进行必要的判断。} this . balance-=this . money fmt . println(此支出的描述。)fmt . scanln(this . note)this . details=fmt . sprintf( expense \ t % v \ t % v \ t % v ,this.balance,this.money,this . note)this . flag=true }//将退出系统写成方法。bind func(this * family account)exit(){ fmt . println(确定要退出吗?y/n )choice:= for { fmt . scanln(choice)if choice== y choice== n { break } fmt . println(您的输入有误,请重新输入y/n )} if choice== y { this . loop=false } this . loop=false }//将对应的方法绑定到此结构//Show main menu func(this * family account)main menu(){ for { fmt . println(-)fmt .Println( 1。收入和支出明细)。Println( 2。登记收入。print( please select(1-4):)fmt . scanln(this . key)switch this . key { case 1 :this . show details()case 2 :this . income()case 3 :this . pay()case 4 this . loop { break } } package main import util func main(){ util . new family account()。mainmenu ()} 3.3项目1扩展函数的练习“为上述项目完成传递函数。

  2.使用软件前有登录功能,只有输入正确的用户名和密码才能操作。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: