我们在前面去定义一个结构体时候,实际上就是把一类事物的共有的属性(字段)和行为(方法)提取出来,形成一个物理模型(模板),这种研究问题的方法称为抽象。
当你将一类事物的属性和行为抽取出来之后,下一步就是将代码体现出来。下面就是模拟银行卡存款取款查询余额方式。
- package main
-
- import "fmt"
-
- type Account struct {
- AccountNum string
- Password string
- Balance float64
- }
-
- func (account *Account) Cunqian(money float64, password string) {
- if account.Password != password {
- fmt.Println("用户名密码错误!")
- return
- }
- if money < 0 {
- fmt.Println("输入的金额不正确!")
- return
- }
-
- account.Balance += money
- fmt.Println("存款成功!")
- }
-
- func (account *Account) Quqian(money float64, password string) {
- if account.Password != password {
- fmt.Println("用户名密码错误!")
- return
- }
- if money < 0 || money > account.Balance {
- fmt.Println("输入的金额不正确!")
- return
- }
-
- account.Balance -= money
- fmt.Println("取款成功!")
- }
-
- func (account *Account) Chaxunyuer(password string) {
- if account.Password != password {
- fmt.Println("用户名密码错误!")
- return
- }
-
- fmt.Println("当前余额:", account.Balance)
- }
-
- func main() {
- a := &Account{
- AccountNum: "123456",
- Password: "123456",
- Balance: 0,
- }
- a.Cunqian(12.3, "123456")
- a.Chaxunyuer("123456")
- a.Quqian(10.2, "123456")
- a.Chaxunyuer("123456")
-
- }
-
-
- 存款成功!
- 当前余额: 12.3
- 取款成功!
- 当前余额: 2.1000000000000014