In Go all values are passed by copy.

However, similar to slices, the value of a map is only a reference to underlying data.

When you assign a map to another variable or pass to another function, you only copy the reference.

To copy the values, we need to write a bit of code:

https://codeeval.dev/gist/b2b5c689140f284145e76001c214a2e2