步骤

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

示例一

代码

  1. package main
  2. import "fmt"
  3. /*
  4. 1、声明(定义)结构体,确定结构体名。
  5. 2、编写结构体字段
  6. 3、编写结构体方法
  7. */
  8. type Student struct {
  9. name string
  10. gender string
  11. age int
  12. id int
  13. score float64
  14. }
  15. func (stu *Student) Say() string {
  16. info := fmt.Sprintf("学生的信息:name=[%v], gender=[%v], age=[%v], id=[%v], score=[%v]",
  17. stu.name, stu.gender, stu.age, stu.id, stu.score)
  18. return info
  19. }
  20. func main() {
  21. stu := Student{
  22. name: "tom",
  23. gender: "male",
  24. age: 12,
  25. id: 001,
  26. score: 99.99,
  27. }
  28. info := stu.Say()
  29. fmt.Println("info = ", info)
  30. // 学生的信息:name=[tom], gender=[male], age=[12], id=[1], score=[99.99]
  31. }

示例二

代码

  1. package main
  2. import "fmt"
  3. /*
  4. 1、声明(定义)结构体,确定结构体名。
  5. 2、编写结构体字段
  6. 3、编写结构体方法
  7. */
  8. type Box struct {
  9. len float64
  10. width float64
  11. height float64
  12. }
  13. func (box *Box) getVolumn() float64 {
  14. return box.len * box.width * box.height
  15. }
  16. func main() {
  17. box := Box{
  18. len: 6,
  19. width: 6,
  20. height: 6,
  21. }
  22. vol := box.getVolumn()
  23. fmt.Println("box的体积 = ", vol)
  24. }

示例三

代码

  1. package main
  2. import "fmt"
  3. /*
  4. 1、声明(定义)结构体,确定结构体名。
  5. 2、编写结构体字段
  6. 3、编写结构体方法
  7. */
  8. type Vistor struct {
  9. Name string
  10. Age int
  11. }
  12. func (vistor *Vistor) showPrice() {
  13. if vistor.Age > 90 || vistor.Age < 8 {
  14. fmt.Println("考虑到安全,就不要玩了")
  15. return
  16. }
  17. if vistor.Age > 18 {
  18. fmt.Printf("游客姓名:%v, 年龄:%v, 收费:%v", vistor.Name, vistor.Age, 20)
  19. } else {
  20. fmt.Printf("游客姓名:%v, 年龄:%v, 免费", vistor.Name, vistor.Age)
  21. }
  22. }
  23. func main() {
  24. vistor := Vistor{
  25. Name: "tom",
  26. Age: 22,
  27. }
  28. vistor.showPrice()
  29. }