ホームページ  >  記事  >  バックエンド開発  >  Go テンプレートと複数行の文字列インデント

Go テンプレートと複数行の文字列インデント

WBOY
WBOY転載
2024-02-09 22:09:14585ブラウズ

Go 模板和多行字符串缩进

php エディタ Zimo は、Go 言語のテンプレートと複数行の文字列インデントを紹介します。 Go 言語におけるテンプレートは、テキスト出力の生成を容易にするツールであり、指定されたテンプレートに変数を挿入し、最終的な出力結果を生成できます。同時に、複数行の文字列インデントはコードを読みやすくするための手法であり、コードが複数行で表示される場合でも一貫したインデント スタイルを維持できるため、コードの可読性と保守性が向上します。この記事では、Go 言語でのテンプレートの使用方法と、実際の開発でより適切に適用できるようにするための複数行文字列のインデントのテクニックを詳しく紹介します。

質問内容

そこで、text/templateパッケージとテンプレート値(複数行の文字列)を使ってyamlファイルを生成してみました。私が抱えている問題は、テンプレート文字列のインデントが tpl のテンプレート変数と同じレベルにないことです。

これは (少し不自然な例):

リーリー

プレイグラウンド: https://goplay.space/#2ek7_elztwa

ここで見たい出力は明らかに

です。 リーリー ### の代わりに ### リーリー

これを回避できる魔法のプレフィックスはありますか?

回避策

次のコードを使用して要件を満たすことができました。袋詰めした枝を使いました。あなたの目標を簡単に達成できる機能を提供します。コードは以下のように表示されます:

リーリー

funcs

メソッドを使用して関数をテンプレート エンジンに渡します。これらの関数は、spig.funcmap() への呼び出しから返されます。 この関数は

parse

の前に呼び出す必要があることに注意してください。そうしないと混乱が発生します。 次に、コメント

| indent 2

を追加して、行を 2 文字インデントします。コードを実行すると、目的の出力が得られます。 利用可能な機能の完全なリストは、

ここ

にあります。 これで問題が解決したかどうかお知らせください。ありがとうございます。

以上がGo テンプレートと複数行の文字列インデントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。