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 サイトの他の関連記事を参照してください。