面向对象编程应用步骤

  1. 声明(定义)结构体,确定结构体名;
  2. 编写结构体字段;
  3. 编写结构体方法。

案例

  1. 一个景区根据游人的年龄收取不同价格的门票,比如年龄大于18,收费20元;8岁到18岁之间门票免费;年龄小于8岁或者大于80岁,就不能来玩了;
  2. 编写Visitor结构体,根据年龄决定能够购买的门票价格并输出。
  3. 从控制台接收姓名和年龄,来判断是否免费,如果结束控制台的接收,输入n即可。

代码如下:

package main

import (
	"fmt"
)

type Visitor struct {
	Name string
	Age int
}
func (visitor *Visitor) showPrice() {
	if visitor.Age >= 80 || visitor.Age <= 8 {
		fmt.Println("考虑到安全,就不要玩了")
		return
	}
	if visitor.Age >18 {
		fmt.Printf("顾客的名字为:%v,年龄为:%v,收费20元 n",visitor.Name,visitor.Age)
	} else {
		fmt.Printf("顾客的名字为:%v,年龄为:%v,免费 n",visitor.Name,visitor.Age)
	}
}

func main() {
	//测试
	var v Visitor
	for {
		fmt.Print("请输入名字:")
		fmt.Scanln(&v.Name)
		if v.Name == "n" {
			fmt.Println("退出程序...")
			break
		}
		fmt.Print("请输入年龄:")
		fmt.Scanln(&v.Age)
		v.showPrice()
	}
}

执行结果如下图所示:
在这里插入图片描述