問題タブ [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.
go - Go テキスト テンプレートでマップを反復処理する
次のようmap
な値があります。
次の文字列を生成するには、テンプレートがどのように見える必要がありますか (カンマの正しい使用法に注意してください)。
私はこれをテンプレートとして始めました:
しかし、それはただ印刷されます
たとえそれが機能したとしても、コンマは正しくありません。次に、カスタム関数を使用してマップをフォーマットしようとしましたが、テンプレートで関数を呼び出すことができませんでした。次のいずれも機能していないようです。
MyFunction が次のように定義されたとき:
そして、次のようなヘルパー関数を使用してテンプレートを実行しています。
ありがとう!
go - JSONをgolangテンプレートに出力するには?
クライアント側でオブジェクトが必要なので、json.marshal を使用して JSON に変換し、テンプレートに出力しました。オブジェクトは、エスケープされた JSON 文字列として出力されています。
私はそれを期待していますvar arr=["o1","o2"]
が、そうですvar arr="[\"o1\",\"o2\"]"
クライアント側で JSON.parse できることは知っていますが、それが唯一の方法ですか?
テンプレートで印刷する方法は次のとおりです。
{{ marshal .Arr }}
これが私のマーシャル関数です:
go - テンプレート範囲の最後の項目
テンプレートを考えると:
これは以下を出力できます:
ただし、出力したい場合:
上記の範囲の最後の要素がどれかを知る必要があります。
配列の長さを保持する変数を設定できますが.SomeField
、それは常に 3 になり、$i
上記の値は 2 にしかなりません。
テンプレート範囲の最後の値を検出できますか? 乾杯。