手记

【备战春招】第4天 Go语言语法进阶指南-结构体

课程章节:结构体

课程讲师:Gavin

课程内容:

  1. 创建&初始化

  1. 属性及函数

  1. 组合

package struct_demo

import "fmt"

// 定义父类
type Dog Animal {
    Colour string
}

// 定义dog结构体
type Dog struct {
    Animal //组合,dog这样就包含了Animal
    ID int
    Name string
    Age int
}

// 创建&初始化
func TestForStruct() {
    // 1
    var dog
    dog.ID = 0
    dog.Name = "Kiki"
    dog.Age = 3

    // 2
    dog := Dog(ID:1, Name: "YaYa", Age:2)

    // 3
    dog := new(Dog)
    dogID = 3
    dog.Name = "Tom"
    dog.Age = 4

    fmt.Print("dog : ", dog)
}

// 继承
func (d *Dog) Eat() {
    fmt.Println("hello! hello!")
}

// 属性及函数
func (d *Dog) Run() {
    fmt.Println("ID : ", d.ID, "Dog is running")
}
import "fmt"

func main() {
    //Test for struct()
    struct_demo.TestForStruct()

    //Test for Run()
    dog := new(struct_demo.Dog)
    dog.ID = 3
    dog.Name = "Tom"
    dog.Age = 4
    dog.color = "red" // 指向父类的属性
    dog.Run()
    dog.Eat()
}

课程收获:

  1. 结构体:若干字的结合
  2. new 出来的结构体是指向类型结构体的指针,传进去一个方法,返回指向 dog 的指针。引用变量类型时要注意
  3. 通过大小(属性/方法)写控制作用域(private&public)

  1. 通过组合结构体实现继承
0人推荐
随时随地看视频
慕课网APP