Go语言接口实战指南
接口类型
Go语言中的接口(Interface)是一种抽象类型,它定义了一组方法集合,用于规范对象的行为契约。
声明通道类型的格式如下:
// DBInterface 数据库接口
type DBInterface interface {// Connect 数据库连接Connect();// DisConnect 关闭数据库连接DisConnect();
}
Go 接口采用隐式实现机制,无需显式声明。只要类型实现了接口定义的所有方法,就自动满足该接口的要求,代码示例如下:
// MySqlConn mysql数据库连接
type MySqlConn struct {
}// Connect 数据库连接
func (m *MySqlConn) Connect() {fmt.Println("Mysql connect success")
}// DisConnect 关闭数据库连接
func (m *MySqlConn) DisConnect() {fmt.Println("Mysql disconnect success")
}
MySqlConn 类完整实现了 DBInterface 接口的所有方法,因此 MySqlConn 实现了 DBInterface 接口。
接口实现方式
接口可以通过值接收者和指针接收者两种方式实现。
值接收者实现
值接收者实现接口方式,代码示例如下:
// DmConn dm数据库连接
type DmConn struct {
}// Connect 数据库连接
func (d DmConn) Connect() {fmt.Println("DM connect success")
}// DisConnect 关闭数据库连接
func (d DmConn) DisCo