問題タブ [go-templates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3287 参照

go - Go テキスト テンプレートでマップを反復処理する

次のようmapな値があります。

次の文字列を生成するには、テンプレートがどのように見える必要がありますか (カンマの正しい使用法に注意してください)。

私はこれをテンプレートとして始めました:

しかし、それはただ印刷されます

たとえそれが機能したとしても、コンマは正しくありません。次に、カスタム関数を使用してマップをフォーマットしようとしましたが、テンプレートで関数を呼び出すことができませんでした。次のいずれも機能していないようです。

MyFunction が次のように定義されたとき:

そして、次のようなヘルパー関数を使用してテンプレートを実行しています。

ありがとう!

0 投票する
3 に答える
1702 参照

go - Go テンプレートの構造体変数名

組み込みの http/template ライブラリを使用して構造体を Go テンプレートに渡そうとしています。ただし、構造体の変数に最初の文字を小文字で名前を付けると、それらはテンプレートにレンダリングされませんが、最初の文字を大文字で名前を付けるとレンダリングされます。ここで、構造体には大文字と小文字の両方の最初の文字を含めることができることがわかります。では、Go テンプレート エンジンが両方をレンダリングしないのはなぜでしょうか?

例については、次を参照してください。

前もって感謝します。

0 投票する
1 に答える
16390 参照

go - JSONをgolangテンプレートに出力するには?

クライアント側でオブジェクトが必要なので、json.marshal を使用して JSON に変換し、テンプレートに出力しました。オブジェクトは、エスケープされた JSON 文字列として出力されています。

私はそれを期待していますvar arr=["o1","o2"]が、そうですvar arr="[\"o1\",\"o2\"]"

クライアント側で JSON.parse できることは知っていますが、それが唯一の方法ですか?

テンプレートで印刷する方法は次のとおりです。

{{ marshal .Arr }}

これが私のマーシャル関数です:

0 投票する
4 に答える
18965 参照

go - テンプレート範囲の最後の項目

テンプレートを考えると:

これは以下を出力できます:

ただし、出力したい場合:

上記の範囲の最後の要素がどれかを知る必要があります。

配列の長さを保持する変数を設定できますが.SomeField、それは常に 3 になり、$i上記の値は 2 にしかなりません。

テンプレート範囲の最後の値を検出できますか? 乾杯。