Well it's still memory safe though, right? You'll just get a runtime error, not memory corruption.
Mostly. Java puts a lock on every single object in a multithreaded context; Go doesn't do this as a performance tradeoff, so two goroutines manipulating a pointer simultaneously will likely corrupt it. FWIW, I've been using Go for 4 years and I've not yet seen a memory corruption.
Go doesn't reach Java level safety because of a lack of generics.