ホームページ > バックエンド開発 > Golang > fmt.Sprintf() のすべての変数を単一の値に置き換えるにはどうすればよいですか?

fmt.Sprintf() のすべての変数を単一の値に置き換えるにはどうすればよいですか?

DDD
リリース: 2024-12-15 07:44:14
オリジナル
136 人が閲覧しました

How Can I Replace All Variables in fmt.Sprintf() with a Single Value?

すべての Sprintf 変数を単一の値で置き換える

fmt.Sprintf() を使用して文字列をフォーマットする場合、多くの場合、変数を特定の値で置き換える必要があります。価値観。しかし、すべての変数を同じ値に置き換える必要がある場合はどうすればよいでしょうか?

fmt.Sprintf() は、明示的な引数インデックスを使用することで、実際にこのシナリオに対応できます。これらのインデックスは、デフォルトのシーケンシャル動作の代わりにどの引数をフォーマットに使用するかを指定します。

たとえば、フォーマットされた文字列内のすべての変数を "foo" に置き換えるには:

val := "foo"
s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
ログイン後にコピー

この例ではたとえば、明示的な引数インデックス [1] は各フォーマット動詞の前に使用され、すべての変数が最初の引数「foo」に置き換えられる必要があることを示します。結果の文字列は次のようになります。

"foo in foo is foo"
ログイン後にコピー

構文の内訳は次のとおりです。

  • %[1]v: 変数 1 を "foo"
  • %[1]v は%[1]v: この行は事実上、「foo in foo is foo」であることを示しています
最初の変数の明示的な引数インデックスはデフォルトが 1 であるため、省略することでこれをさらに簡素化できます。

fmt.Sprintf("%v in %[1]v is %[1]v", "foo")
ログイン後にコピー
このアプローチは、書式設定された文字列内のすべての変数を単一の変数に均一に置き換える便利な方法を提供します。値。

以上がfmt.Sprintf() のすべての変数を単一の値に置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート