ホームページ  >  記事  >  バックエンド開発  >  Go テンプレートでマップを反復するにはどうすればよいですか?

Go テンプレートでマップを反復するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-23 04:44:13295ブラウズ

How Do I Iterate Through a Map in a Go Template?

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

Go テンプレートでマップを操作する場合、その要素を反復処理する方法を理解することが重要です.

func groupClasses(classes []entities.Class) map[string][]entities.Class {
    classMap := make(map[string][]entities.Class)
    for _, class := range classes {
        classMap[class.ClassType.Name] = append(classMap[class.ClassType.Name], class)
    }
    return classMap
}

groupClasses 関数によって生成された classMap を反復処理するには、テンプレートを使用するには、次の手順に従ってください:

  1. キーと値の変数について理解します: Go テンプレートでは、範囲反復でカンマで区切られた複数の変数を宣言できます。
  2. 範囲反復: マップを反復するには、次を使用します。構文:

    {{ range $key, $value := . }}
    

ここで:

  • $key はマップキー (クラスタイプ名など) を表します
  • $valueマップ値を表します(たとえば、そのクラスのスライス) type)
  1. アクセス要素: range ブロック内では、$key 変数と $value 変数を使用してキーと値にアクセスできます。

たとえば、すべてのクラスタイプとそれに対応するクラスをリストするには:

{{ range $key, $value := . }}
   <li><strong>{{ $key }}</strong>: {{ $value }}</li>
{{ end }}

これは次のように生成します。 HTML のようなもの:

<li><strong>Yoga</strong>: [Yoga class 1, Yoga class 2, ...]</li>
<li><strong>Pilates</strong>: [Pilates class 1, Pilates class 2, ...]</li>

以上がGo テンプレートでマップを反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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