So testing double(mocking) in Go is still a big headache
in version 1.2?
I'm confused by your meaning. Mocking hasn't ever been a headache in Go. You just tease apart your functional components by using interfaces, and then test at the boundaries with mock implementations.