-4
私が知っている唯一の解決策は、fmt.Sprint
または類似の機能を使用することです。私はすでにbuiltin
パッケージを見ていますが、それはerror
インターフェイスだけを持っています、string
はインターフェイスではなく、通常のタイプです。空のインタフェースでStringメソッドを直接呼び出す方法は?
私が知っている唯一の解決策は、fmt.Sprint
または類似の機能を使用することです。私はすでにbuiltin
パッケージを見ていますが、それはerror
インターフェイスだけを持っています、string
はインターフェイスではなく、通常のタイプです。空のインタフェースでStringメソッドを直接呼び出す方法は?
@volkerと同様です。空のインターフェイスにはメソッドがないため、できません。
注意:fmt.Sprint
,などは、存在する場合は最初にStringerインターフェイスを呼び出します。それはエレガントな方法です。
タイプアサーションの後にストリンガーインターフェイスを呼び出す例。
var a SomeType
if v, ok := a.(fmt.Stringer); ok {
fmt.Println(v.String())
}
あなたの目標は何ですか? [stringer](https://golang.org/pkg/fmt/#Stringer)インターフェイスを呼び出していますか?特定のものを提供できますか? – jeevatkm
@jeevatkmストリンガーが私が探しているものです。ありがとうございました! 'fmt.Sprint'を呼び出すのはエレガントではないと思います。 – UltimaWeapon
空のインターフェイスに_no_メソッドがあるため、できません。 – Volker