I often have objects I want to read/write from multiple places at the same time. In certain places I can use mutexs, however most of the time I'm not actually worried about race-conditions overwriting values - just that some memory corruption might take place and kill the problem.
If two goroutines both want to set a value to true and false at the same time others are reading that value - it's not a problem. Even with locks, almost that same sequence of events will still transpire - just in an organized way.
So my question is, if multiple goroutines are writing/reading the same variable all at the same time, will some of the readers possibly get back a half-written variable value or that two writers might actually corrupt the memory and crash the program?
Is this possible? or are all `foo := bar[foo]` commands always going to get back a FULL value - not a half-written one?