2016-09-21 9 views
2

文書を読んでソースコードを調べた後、明示的な文字列をfmt.Sprint関数に渡すことのメリットがあるかどうかは少しはっきりしていますか?Golangのfmt.Sprintに明示的な文字列を渡す

たとえば、このう:

return fmt.Sprint("this is a string") 

はこれを行うよりも有益である:

return "this is a string" 

は、私は、この関数はストリンガーインタフェースに準拠タイプでうまく動作することを考えで正しいですか?

答えて

3

はい、Sprintは1つの文字列ではほとんど役に立たないので、たくさんのオブジェクト、ストリンガーがある場合は使用する必要があります。それはそれらの文字列表現を連結するだけです。 TFMから:

スプリントは、オペランドにデフォルトのフォーマットを使用してフォーマットし、結果の文字列を と返します。 が文字列でない場合、オペランド間にスペースが追加されます。

文字列が1つだけの場合は役に立たない。あなたが多くの引数、特にvariadicを持っているなら、あなたが持っている要素の数がわからない場合は、fmt.Sprintf("%v %v %v", foo, bar, baz)のような何かをするのがよいでしょう。

+2

驚くばかりです - 説明をいただきありがとうございます! – danbondd

関連する問題