ホームページ >バックエンド開発 >Golang >fmt.Sprintf で欠落している置換値を処理するにはどうすればよいですか?

fmt.Sprintf で欠落している置換値を処理するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 11:04:01829ブラウズ

How to Handle Missing Replacement Values in fmt.Sprintf?

fmt.Sprintf の余剰フィールドを無視する

Go プログラムがコマンド ラインからの文字列入力を処理し、fmt を使用するシナリオを考えてみましょう。 Sprintf を使用してフォーマットされた文字列を生成します。 tmp_str として表される入力にプレースホルダー (「%s」など) が含まれており、付随する置換値が指定されていない場合、fmt.Sprintf は「EXTRA string=world」というメッセージでエラーを発生させます。「world」は

この問題に対処し、入力にプレースホルダーがない可能性がある状況を適切に処理するには、コマンド ライン ユーザーに常に "%s" プレースホルダーを含めるよう要求する方法があります。これにより、プレースホルダーに値が割り当てられていない場合でも、プログラムはパニックを回避できます。次の例に示すように、文字列を長さ 0 に切り捨てると、プレースホルダーに関連付けられた出力が抑制されます:

<code class="go">package main

import "fmt"

func main() {
    tmp_str := "Hello Friends%.0s"
    str := fmt.Sprintf(tmp_str, "")
    fmt.Println(str)
}</code>

Output:

Hello Friends

この戦略を利用すると、プログラムはfmt.Sprintf に渡される余剰の置換フィールドを無視して、安定した動作を維持できます。

以上がfmt.Sprintf で欠落している置換値を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。