3 ms·
Right, but they mentioned sending immutable structs which is why I gave the struct example. But you're right that every declared map is a just a pointer. With
by bankisan 6y ago
Right, but they mentioned sending immutable structs which is why I gave the struct example. But you're right that every declared map is a just a pointer.
With respect to your second point, I see what you mean but I still don't think that's a negative of Go. You can pass in copied values without having to have a deep_copy() primitive (loop map values and copy to new map, dereferencing a pointer, etc.). Like other parts of Go, if you want to make your data immutable there is no syntactic sugar. You have to explicitly write it out.
- eru 6y agoYou'd have to roll your own deep_copy by hand (or code generation) for every single data type.
- simiones 6y ago> With respect to your second point, I see what you mean but I still don't think that's a negative of Go. It is a negative of Go, because Go pushes you into the pit of failure by its design: it is much, much harder to do the right thing (send deep copies of objects over channels) than it is to do the wrong things (send pointers or shallow copies over channels).