package main
type foo struct {
bar string
baz string
}
func (f foo) String() string {
return f.bar + " " + f.baz
}
func main() {
f := foo{"hello", "world"}
v := string(f)
}
这输出main.go:14: cannot convert f (type foo) to type string.
因此,将某些内容转换为字符串似乎并不看毒刺接口。我的猜测是,这是因为转换是在比 stringer 接口更低的级别上实现的,并且不可能/难以混合两者,但我不确定。任何人都可以对此有所了解吗?
此外,由于这是不可能的,在这种情况下,将我的结构转换为字符串的惯用方法是什么?我只是称呼.String()自己,还是fmt.Sprintf("%s", f),或其他什么?
当年话下
相关分类