// 结构体是一种类型(type)

// 包含要定义的数据形式


// 1. 定义Cat结构体,包含四个变量

type Cat struct {

    Name  string

    Age   int

    Color string

    Hobby string

}


// 2. 定义Rect结构体

type Rect struct {

    width  float64

    height float64

}


// 2.变量r的类型是Rect结构体,返回结果size

func (r *Rect) size() float64 {

    return r.width * r.height

}


func main() {

    //1.Cat结构体调用

    var cat1 Cat

    cat1.Name = "小白"

    cat1.Age = 3

    cat1.Color = "白色"

    cat1.Hobby = "吃鱼"

    fmt.Println("cat1=", cat1)

    fmt.Println("猫猫的信息如下:")

    fmt.Println("name=", cat1.Name)

    fmt.Println("name=", cat1.Age)

    fmt.Println("name=", cat1.Color)

    fmt.Println("name=", cat1.Hobby)


    //2.Rect结构体调用,以及内存指针运行逻辑

    fmt.Println(&Rect{100100})

    fmt.Println(Rect{100100})


    var r *Rect = &Rect{100100}

    fmt.Println(r)


}