yeah. my guess is the compiler just outputs its intermediate format when it sees map assignment and can just do whatever it wants.
for reference you can play around with this by doing:
go build test.go
go tool objdump ./test
then search for test.go in the output and you should be able to find the go 'assembly' for your functions. also, if you use a big enough struct type then go will call into a memcpy() style routine to do the assignment.
for reference you can play around with this by doing:
then search for test.go in the output and you should be able to find the go 'assembly' for your functions. also, if you use a big enough struct type then go will call into a memcpy() style routine to do the assignment. 0x104defc for me looks like it duffcopy from this file: https://golang.org/src/runtime/duff_amd64.s