collections.Merge
Returns the result of merging two or more maps.
Syntax
collections.Merge MAP MAP...
Returns
any
Alias
merge
Returns the result of merging two or more maps from left to right. If a key already exists, merge
updates its value. If a key is absent, merge
inserts the value under the new key.
Key handling is case-insensitive.
The following examples use these map definitions:
{{ $m1 := dict "x" "foo" }}
{{ $m2 := dict "x" "bar" "y" "wibble" }}
{{ $m3 := dict "x" "baz" "y" "wobble" "z" (dict "a" "huey") }}
Example 1
{{ $merged := merge $m1 $m2 $m3 }}
{{ $merged.x }} → baz
{{ $merged.y }} → wobble
{{ $merged.z.a }} → huey
Example 2
{{ $merged := merge $m3 $m2 $m1 }}
{{ $merged.x }} → foo
{{ $merged.y }} → wibble
{{ $merged.z.a }} → huey
Example 3
{{ $merged := merge $m2 $m3 $m1 }}
{{ $merged.x }} → foo
{{ $merged.y }} → wobble
{{ $merged.z.a }} → huey
Example 4
{{ $merged := merge $m1 $m3 $m2 }}
{{ $merged.x }} → bar
{{ $merged.y }} → wibble
{{ $merged.z.a }} → huey
Regardless of depth, merging only applies to maps. For slices, use append.
Last updated:
February 17, 2025
:
all: Change shortcode usage and design to prevent invalid HTML (0fca8ef25)
Improve this page