这个理解起来有点绕,其它的语言如java,都是实现者先实现接口的具体功能,再将接口暴露给使用者。
golang由使用者定义接口:
一、如果是团队合作,岂不是实现者需要先等使用者定义好所需接口?
二、由使用者定义接口的优势到底是什么呢?视频里没听明白,还得麻烦老师再讲解一下,谢谢!
三、另外我将之前写的代码贴一段,这么写是不是有什么问题?
// 这是一段对用户表CRUD的接口代码
// user_service.go
type UserInfoService interface {
GetAll() []models.UserInfo
Get(id int) *models.UserInfo
Delete(id int) error
Update(user *models.UserInfo, columns []string) error
Create(user *models.UserInfo) error
Search(username string) []models.UserInfo
}
// 下面对接口的具体实现
// .....省略
user_service.go里已经定义好了给web框架使用的几个接口,
按视频的讲解,我这么写可能是不对的?