一、要求
创建程序,在 model 包中定义 Account 结构体:在 main 函数中体会 Golang 的封装性。Account 结构体要求具有字段:账号(长度在 6-10 之间)、余额(必须>20)、密码(必须是六通过 SetXxx 的方法给 Account 的字段赋值。在 main 函数中测试
二、实现
package model
import (
"fmt"
)
type account
struct {
accountNo
string
pwd
string
balance
float64
}
func NewAccount(accountNo
string, pwd
string, balance
float64) *account
{
if len(accountNo
)<6 || len(accountNo
)>10{
fmt
.Println("您输入的账号错误...")
return nil
}
if len(pwd
) != 6{
fmt
.Println("您输入的密码长度不对...")
return nil
}
if balance
< 20 {
fmt
.Println("余额不足...")
return nil
}
return &account
{
accountNo
: accountNo
,
pwd
: pwd
,
balance
: balance
,
}
}
func (account
*account
)Deposite(money
float64,pwd
string){
if pwd
!=account
.pwd
{
fmt
.Println("输入的密码错误")
return
}
if money
<= 0{
fmt
.Println("你输入的金额不正确")
return
}
account
.balance
+= money
fmt
.Println("存款成功,当前余额为: ", account
.balance
)
}
func (account
*account
)WithDraw(money
float64,pwd
string){
if pwd
!=account
.pwd
{
fmt
.Println("输入的密码错误")
return
}
if money
<= 0 || money
> account
.balance
{
fmt
.Println("你输入的金额不正确")
return
}
account
.balance
-= money
fmt
.Println("取款成功,当前余额为: ", account
.balance
)
}
func (account
*account
)Query(pwd
string){
if pwd
!=account
.pwd
{
fmt
.Println("输入的密码错误")
return
}
fmt
.Printf("账号:%v的账户当前的余额为:%v ", account
.accountNo
, account
.balance
)
}
package main
import (
"chapter12/fengzhuang/model"
"fmt"
)
func main() {
account
:= model
.NewAccount("jzh111", "000000", 40)
if account
!= nil {
fmt
.Println("创建成功=", account
)
} else {
fmt
.Println("创建失败")
}
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-3283.html