定义接口 -> 实现接口
// 1. 创建接口
type IMoiveRepository interface {
GetName() string
}
// 2. 创建类 - 结构体
type MoiveRepository struct {
}
// 3. 实现接口
// go中实现接口是非显式的,只要在这个结构体的方法名称、返回值、传参就表示实现了这个接口
// 如何在代码层面检测结构体实现了这个接口,借助于构造函数
// go中没有构造函数,自己创建一个构造函数,初始化结构体,获取到实例
func NewMoviceRepository () IMoiveRepository { // 返回类型是这个接口
// 只要实现接口所定义的方法,就成功创建了MoiveRepository这个结构体,达到构造函数自检目的
return &MoiveRepository{}
}
// 4. 实现接口的方法
func (s *MoiveRepository) GetName() string {
return "1234"
}