举例:
假如我从某库engine中得到该库中定义的对象Request,我现在想赋予它新的方法,采用以下方式是不被允许的。
import (
"github.com/slpslpslp/crawler/engine"
)
func (req *engine.Request) myselfMethod() {
// do something
}
解决方法:
1. 新类型
type newRequest engine.Request
func (req newRequest) myselfMethod() {
// do something
}
2. 嵌入(推荐),见官方embedding方式
type newRequest struct {
*engine.Request
}
func (req newRequest) myselfMethod() {
// do something
}