-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