一、介绍
- Go 语言提供了另外一种数据类型即接口
- 接口把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口
定义
/* 定义接口 */
type interface_name interface {
method_name1 [return_type]
method_name2 [return_type]
method_name3 [return_type]
...
method_namen [return_type]
}
/* 定义接口实现类(结构体) */
type struct_name struct {
/* variables */
}
/* 实现接口方法 */
func (struct_name_variable struct_name) method_name1() [return_type] {
/* 方法实现 */
}
...
func (struct_name_variable struct_name) method_namen() [return_type] {
/* 方法实现*/
}
案例
package main
import "fmt"
// 定义接口
type UserService interface {
getUserCount() int
}
// 定义接口实现类
type UserServiceImpl struct {
}
// 定义接口实现类
func (userService UserServiceImpl) getUserCount() int {
return 2;
}
func main() {
var userService UserService
//构建实现类
userService = new(UserServiceImpl)
count := userService.getUserCount()
fmt.Println("count:", count)
}
输出
count: 2