ホームページ > バックエンド開発 > Golang > Go テンプレート if 条件

Go テンプレート if 条件

王林
リリース: 2024-02-06 11:24:13
転載
496 人が閲覧しました

Go 模板 if 条件

質問内容

and関数とeq/ne関数を組み合わせるにはどうすればよいですか?

この断片は私が書きました

リーリー

ターゲットは次のとおりです:

  • アラートに 2 つのラベル infoalert: truetopic:database が含まれている場合、grafana リンクのみが表示されます
  • アラートにタグ topic:database のみが含まれ、infoalert:true が含まれていない場合は、databsse リンクのみが表示されます

このエラーが発生して、条件付き {{- if and eq .commonlabels.infoalert "true" eq .commonlabels.topic "database" -}} の構文が間違っているようです。 alertmanager.log:

{{ define "opsgenie.default.tmpl" }}
  <font size="+0"><b>{{.commonlabels.alertname }}</b></font>
  {{- range $i, $alert := .alerts }}
  <font size="+0">{{ .annotations.description }}</font>
  {{- end -}}
  {{- "\n" -}}
  {{- "\n" -}}
  {{- if and eq .commonlabels.infoalert "true" eq .commonlabels.topic "database" -}}
  grafana: https://{{ .commonlabels.url }}
  {{- "\n" -}}{{- end -}}
  {{- if and ne .commonlabels.infoalert "true" eq .commonlabels.topic "database" -}}
  database:
    • https://{{ .commonlabels.url }}/
    • https://{{ .commonlabels.url }}/
  {{- "\n" -}}{{- end -}}
  {{- end -}}
  {{- end -}}
{{- end -}}
ログイン後にコピー

正解


式をグループ化するには括弧を使用してください:

リーリー

このテスト可能な例を確認してください:

リーリー

これは出力されます (go playground で試してください):

リーリー

以上がGo テンプレート if 条件の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート