-4
我知道的唯一解决方案是使用fmt.Sprint
或类似的功能。我已经看过builtin
包但它只有error
接口,string
只是一个普通类型,而不是接口。如何直接在空接口上调用String方法?
我知道的唯一解决方案是使用fmt.Sprint
或类似的功能。我已经看过builtin
包但它只有error
接口,string
只是一个普通类型,而不是接口。如何直接在空接口上调用String方法?
正如@volker所述;你不能像空接口没有方法。
请注意:fmt.Sprint
,fmt.Sprintf
等确实会先调用Stringer接口(如果存在)。这是优雅的方式。
类型断言后调用stringer接口的示例。
var a SomeType
if v, ok := a.(fmt.Stringer); ok {
fmt.Println(v.String())
}
你的目标是?它是否调用[stringer](https://golang.org/pkg/fmt/#Stringer)接口?你能提供具体的吗? – jeevatkm
@jeevatkm stringer是我正在寻找。谢谢!我认为调用'fmt.Sprint'不是一种优雅的方式。 – UltimaWeapon
你不能像空白的接口有_no_方法。 – Volker