我正在尝试在Golang中实现一些缓存功能,但我希望它们对字符串和其他实现了Stringer
接口的对象都有效。我正在使用Golang泛型进行尝试,目前为止我已经有了以下代码:
import (
"fmt"
)
type String interface {
~string | fmt.Stringer
}
然而,这样会出现错误:无法在union中使用fmt.Stringer(fmt.Stringer包含方法)
。有没有一种方法可以做到这一点,而不依赖于反射或类型装箱/拆箱?
String
的东西既继承自string
又实现fmt.Stringer
。 - Woody1193