如何覆蓋匿名結構函數。為了闡明我的意思,請查看以下代碼片段:package baseimport ( "fmt" "net/http")type Executer interface { Execute()}type Controller struct { }func (self *Controller) Execute() { fmt.Println("Hello Controller")}func (self *Controller) ServeHTTP(rw http.ResponseWriter, r *http.Request) { self.Execute()}現在我將控制器結構嵌入到測試結構中,也稱為匿名package baseimport ( "fmt" "net/http" "net/http/httptest" "testing")type Test struct { Controller}func (self *Test) Execute() { fmt.Println("Hello Test")}func TestInheritance(t *testing.T) { ts := httptest.NewServer(&Test{}) defer ts.Close() http.Get(ts.URL)}作為輸出,我有“Hello Controller”,但期望“Hello Test”。你可以看到上面的代碼,我重新實現了execute函數,但它不起作用。
- 2 回答
- 0 關注
- 226 瀏覽
添加回答
舉報
0/150
提交
取消