ホームページ >バックエンド開発 >Golang >パイプラインとドット (.) 演算子は Go テンプレートでどのように機能しますか?

パイプラインとドット (.) 演算子は Go テンプレートでどのように機能しますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-04 20:49:40665ブラウズ

How Do Pipelines and the Dot (.) Operator Work in Go Templates?

Golang テンプレート エンジンとパイプライン

Golang テンプレートのパイプラインについて

Golang テンプレートでは、パイプラインは一連のコンポーネントを指します。データを操作および変換するコマンド。これらのコマンドには、基本値、関数呼び出し、またはメソッド呼び出しを含めることができます。パイプラインには、 | で区切られた複数のコマンドを含めることができます。キャラクター。各コマンドの出力は、最後の引数としてパイプライン内の次のコマンドに渡されます。

パイプラインにおける「ドット」 (.) の役割

ドット" (.) は、テンプレートで使用されるデータ構造内の現在位置を指すカーソルです。テンプレートを実行すると、ドットは最初、テンプレートの実行に渡された値に設定されます。テンプレートが処理されると、ドットの値がデータ内の特定のフィールドまたは部分構造を指すように変更されることがあります。

テンプレート呼び出しのパイプライン

を使用して別のテンプレートを呼び出すとき{{template}} 関数では、パイプライン引数としてドットを使用して、呼び出されたテンプレート内で使用されるデータ値を指定できます。たとえば、{{template "myTemplate" .}} は、現在のドット値を "myTemplate" という名前のテンプレートに渡します。

データ アクセスに "ドット" と "$" を使用する

ドット カーソルはテンプレート内の現在の値にアクセスできますが、$ 記号を使用してテンプレートの実行に渡された元の値にアクセスできます。これは、ドットが {{range}} や {{with}} などのアクションによって変更されている場合に便利です。

次のテンプレートを考えてみましょう:

{{- define "test" -}}
{{- printf "%s" .Name | trunc 24 -}}
{{- end -}}

この例では、ドット (.Name) は、テンプレートの実行に渡されるデータ構造の Name フィールドを参照します。 | trunc 24 パイプラインは、trunc 関数を Name 値に適用し、24 文字に切り捨てます。この変換された値は、printf を使用して出力されます。

結論

パイプラインと「ドット」は、Golang テンプレートの基本概念です。これらは、テンプレート内のデータを操作およびアクセスするための強力なメカニズムを提供し、柔軟で動的なテンプレートの生成を可能にします。

以上がパイプラインとドット (.) 演算子は Go テンプレートでどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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