Printf による変数のエスケープ: 特殊文字の処理
fmt.Printf の使用中に変数をエスケープする必要がある場合、問題が発生する可能性があります。 。たとえば、次のコードを考えてみましょう:
fmt.Printf("Escape this -> %v... Do not escape this -> %v", "Unescaped")
この例では、最初に出現した %v のみをエスケープすることを目的としています。ただし、%v を使用しても効果はありません。望ましい結果を得るには、リテラル (展開不可能な) パーセント記号を表す %% エスケープ シーケンスを使用できます。
%% による変数のエスケープ
% % シーケンスは、fmt.Printf で変数をエスケープするためのソリューションを提供します。使用すると、次の文字 (この場合は v) が書式指定子ではなくリテラルとして解釈されます。したがって、最初の %v をエスケープするには、次のコードを使用できます:
fmt.Printf("Escape this -> %%v... Do not escape this -> %v", "Unescaped")
これで、出力には次のようにエスケープされた %v が表示されます:
Escape this -> %v... Do not escape this -> Unescaped
%%
について理解する %% シーケンスは %v 形式指定子とは異なる動作をすることに注意することが重要です。 %v では変数の挿入が可能ですが、%% は変数に影響を与えることなくリテラルのパーセント記号を出力します。
fmt.Printf の書式設定に関する包括的なリファレンスについては、Go ドキュメントを参照してください: https://golang。 org/pkg/fmt/.
以上がGoのPrintfで変数をエスケープする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。