我所知道的唯一解决方案是使用fmt.Sprint
或类似功能。我已经查看builtin
包但它只有error
接口,string
只是普通类型,而不是接口。
答案 0 :(得分:0)
正如@volker所说;你不能因为空接口没有方法。
请注意:fmt.Sprint
,fmt.Sprintf
等会先调用Stringer接口(如果存在)。它很优雅。
类型断言后调用stringer接口的示例。
var a SomeType
if v, ok := a.(fmt.Stringer); ok {
fmt.Println(v.String())
}