1. ホーム
  2. string

[解決済み] Goの文字列を印刷せずにフォーマットしますか?

2022-03-20 04:54:11

質問

文字列を印刷せずに、Go で文字列をフォーマットする簡単な方法はありますか?

できるんです。

bar := "bar"
fmt.Printf("foo: %s", bar)

しかし、私はさらに操作できるように、フォーマットされた文字列を印刷するのではなく、返したいのです。

というようなこともできますね。

s := "foo: " + bar

しかし、フォーマット文字列が複雑な場合は読みづらくなり、次のように文字列でない部分が1つまたは多くあり、最初に変換しなければならない場合は面倒になります。

i := 25
s := "foo: " + strconv.Itoa(i)

もっと簡単な方法はないのでしょうか?

どのように解決するのですか?

スプリント は、あなたが探しているものです。

使用例

fmt.Sprintf("foo: %s", bar)

で使用されているのを見ることができます。 エラー例 の一部として、"A Tour of Go." "に掲載されました。

return fmt.Sprintf("at %v, %s", e.When, e.What)