diff options
author | Vincent Ambo <tazjin@gmail.com> | 2017-02-10T19·52+0100 |
---|---|---|
committer | Vincent Ambo <tazjin@gmail.com> | 2017-02-14T18·12+0100 |
commit | 7a930aad113703ae3a829bbc1253d218c89f1f20 (patch) | |
tree | bbab375c5b7e900d7d55b1296a8c8b66238c3caf /util/util.go | |
parent | c181decd9d6584ecd7b5d5596f25f7739442a328 (diff) |
feat util: Add silly map-merge function that should be in the stdlib
Diffstat (limited to 'util/util.go')
-rw-r--r-- | util/util.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/util/util.go b/util/util.go new file mode 100644 index 000000000000..3d05322efb16 --- /dev/null +++ b/util/util.go @@ -0,0 +1,25 @@ +package util + +// Merges two maps together. Values from the second map override values in the first map. +// The returned map is new if anything was changed. +func Merge(in1 *map[string]interface{}, in2 *map[string]interface{}) *map[string]interface{} { + if in1 == nil || len(*in1) == 0 { + return in2 + } + + if in2 == nil || len(*in2) == 0 { + return in1 + } + + + new := make(map[string]interface{}) + for k, v := range *in1 { + new[k] = v + } + + for k, v := range *in2 { + new[k] = v + } + + return &new +} |