【发布时间】:2022-06-16 07:12:29
【问题描述】:
我正在尝试在 Golang 中实现一些缓存功能,但我希望它们对实现 Stringer 接口的字符串和其他对象都有效。我正在尝试使用 Golang 泛型,这就是我目前所拥有的:
import (
"fmt"
)
type String interface {
~string | fmt.Stringer
}
但是,这会产生错误cannot use fmt.Stringer in union (fmt.Stringer contains methods)。有没有办法在不依赖反射或类型装箱/拆箱的情况下做到这一点?
【问题讨论】:
-
类型字符串接口 { fmt.Stringer /n ~string }
-
@Para 我认为这行不通,因为这需要任何实现
String的东西都继承自string并实现fmt.Stringer。