テンプレート内のマップの反復
Go テンプレートでは、マップを反復する必要があることがよくあります。テンプレート言語の固有の特性により、これは困難な場合があります。
目的: クラスの種類 (ヨガ、ピラティスなど) ごとにグループ化されたジム クラスのリストを表示します。
解決策: groupClasses() のような関数を利用して、クラス型のマップを作成します。クラス:
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 }
マップの反復:
課題は、テンプレート内のマップの反復にあります。 Go テンプレートのドキュメントによると、.Key 形式でアクセスする必要があります。これを解凍するには、次の範囲でカンマで区切られた 2 つの変数を宣言します。
{{ range $key, $value := . }} <li><strong>{{ $key }}</strong>: {{ $value }}</li> {{ end }}
これにより、マップが反復処理され、キー (クラス タイプ) と値 (クラスのリスト) の両方にアクセスします。これで、必要に応じてデータを表示できるようになります。
以上がGo テンプレートでマップを反復処理してデータをグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。