舉例:
假如我從某庫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
}