# collections.Merge
> 把两个或多个给定映射合并为一个映射并返回。
- 官方英文原文：https://gohugo.io/functions/collections/merge/
- 本页规范地址：https://hugozh.cn/functions/collections/merge/
- 最近更新：2026-10-02
- 最后提交：912b1d3 chore(site): 添加 static/CNAME（hugozh.cn），供 GitHub Pages 等平台绑定自定义域名
- 签名：collections.Merge MAP MAP...
- 返回类型：map[string]any
- 站点：Hugo 中文文档（https://hugozh.cn/）· 社区维护的非官方中文翻译，如有出入以官方英文原文为准

---
返回从左到右合并两个或多个映射的结果。如果 key 已存在，`merge` 会更新它的值；如果 key 不存在，`merge` 会在新 key 下插入该值。

key 的处理不区分大小写。

下面的示例使用这些映射定义：

```go-html-template
{{ $m1 := dict "x" "foo" }}
{{ $m2 := dict "x" "bar" "y" "wibble" }}
{{ $m3 := dict "x" "baz" "y" "wobble" "z" (dict "a" "huey") }}
```

这个示例按顺序合并 `$m1`、`$m2` 和 `$m3`：

```go-html-template
{{ $merged := merge $m1 $m2 $m3 }}

{{ $merged.x }}   → baz
{{ $merged.y }}   → wobble
{{ $merged.z.a }} → huey
```

这个示例按顺序合并 `$m3`、`$m2` 和 `$m1`：

```go-html-template
{{ $merged := merge $m3 $m2 $m1 }}

{{ $merged.x }}   → foo
{{ $merged.y }}   → wibble
{{ $merged.z.a }} → huey
```

这个示例按顺序合并 `$m2`、`$m3` 和 `$m1`：

```go-html-template
{{ $merged := merge $m2 $m3 $m1 }}

{{ $merged.x }}   → foo
{{ $merged.y }}   → wobble
{{ $merged.z.a }} → huey
```

这个示例按顺序合并 `$m1`、`$m3` 和 `$m2`：

```go-html-template
{{ $merged := merge $m1 $m3 $m2 }}

{{ $merged.x }}   → bar
{{ $merged.y }}   → wibble
{{ $merged.z.a }} → huey
```

> [!NOTE]
> 无论嵌套多深，合并都只作用于映射。切片请使用 [`collections.Append`][] 函数。

[`collections.Append`]: /functions/collections/append/

