- golang 通过组合实现继承
- 通过实现接口所有的方法 implements 接口
通过组合实现继承
实例
type Parent struct {
}
func (p *Parent) p() {
fmt.Printf("%s\n", "p()")
}
type Son struct {
*Parent
}
func Test_extend(t *testing.T) {
son := &Son{}
son.p()
}
输出
p()
注意:不能使用接口在结构体里面,因为接口没有被实现是空的,会空指针异常
通过实现接口所有的方法实现接口
type In interface {
Hello()
}
type Im struct {
}
func (i *Im) Hello() {
fmt.Printf("%s\n", "hello")
}
func Test_implements(t *testing.T) {
i := &Im{}
i.Hello()
}
输出
hello