fmt.Sprintf での追加フィールドの処理
問題:
fmt.Sprintf を使用して文字列をフォーマットする場合、余分なフィールドはパニックエラーを引き起こす可能性があります。たとえば、「hello %s」のような文字列テンプレートを使用して「Hello Friends」のような完全な文字列を書式設定しようとすると、「Hello Friends%!(EXTRA string=world)」のようなエラーが発生します。 fmt.Sprintf の余分なフィールドを無視するにはどうすればよいですか?
解決策:
fmt.Sprintf の余分なフィールドを無視する直接的な方法はありませんが、1 つの方法は特定の動詞を強制することです。要件。この場合、コマンド ライン引数に常に %s 動詞を指定するようユーザーに要求できます。実際の書式設定がない場合を処理するには、ユーザーは文字列を長さ 0 に切り詰めることができます:
<code class="go">Hello Friends%.0s</code>
または、さらに短くすることもできます:
<code class="go">Hello Friends%.s</code>
これにより、プレーンな出力が生成されます:
Hello Friends
この規則に従うことで、sprintf 形式文字列内の予期しない追加フィールドによって引き起こされるエラーを回避できます。
以上がfmt.Sprintf で追加フィールドを処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。