but what happens if a 1GB map is a variable to execute a template with “html/template”?
I don’t quite understand this sentence. But, I assume what you meant is you pass the map as the map to Execute function. In that case, it will be passed by reference, no copy needed.
Good articles there. Yes, there is no reference in Golang. What we thought as pass-by-reference is actually pass-by-value, but the value is pointer. This is true for other languages like javascript, java, python, etc. I only know reference in C++ and Rust.
There is no copy made by passing the map to Execute. However, depending on your template and the Writer that you pass to Execute, you may end up with a serialized version of your map in memory. See Go Playground - The Go Programming Language