2017-08-03 79 views
-4

我知道的唯一解决方案是使用fmt.Sprint或类似的功能。我已经看过builtin包但它只有error接口,string只是一个普通类型,而不是接口。如何直接在空接口上调用String方法?

+0

你的目标是?它是否调用[stringer](https://golang.org/pkg/fmt/#Stringer)接口?你能提供具体的吗? – jeevatkm

+0

@jeevatkm stringer是我正在寻找。谢谢!我认为调用'fmt.Sprint'不是一种优雅的方式。 – UltimaWeapon

+0

你不能像空白的接口有_no_方法。 – Volker

回答

0

正如@volker所述;你不能像空接口没有方法。

请注意:fmt.Sprint,fmt.Sprintf等确实会先调用Stringer接口(如果存在)。这是优雅的方式。

类型断言后调用stringer接口的示例。

var a SomeType 
if v, ok := a.(fmt.Stringer); ok { 
    fmt.Println(v.String()) 
} 
相关问题