关于interface中方法 继承、重写的问题。

gin-cache中的CachePage方法:

if err := store.Get(key, &cache); err != nil {
// replace writer
    writer := newCachedWriter(store, expire, c.Writer, key)
    c.Writer = writer
    handle(c)
} else ...

这里把context的ResponseWriter给替换成了cachedWriter,那么在handle(c)这里调用的应该是cachedWriter重写过的Write(data []byte) (int, error)吧?

但实际上被调用的仍然是gin.Context.ResponseWriter.Write

go version go1.7 windows/amd64

希望有大虾能指点一二。谢谢。

查看回复