2. 构造函数

结构体没有构造函数的功能,但是我们可以使用结构体初始化的过程来模拟实现构造函数。

type Cat struct {
    Color  string
    Name   string
}

func NewCatByName(name string) *Cat {
    return &Cat {
        Name: name,
    }
}

func NewCatByColor(color string) *Cat {
    return &Cat{
        Color: color,
    }
}