go - ... 4: [no obj., with complement] pass into a specified state, esp. an undesirable one: the food is going bad | her mind immediately went blank | he's gone crazy.
The general rule is that 'get' is the default. It's just an informal way to say 'become' or 'grow.'
'Go' is a special case. To my ears it's mainly when something slides into a bad state and you can't control, stop, or reverse the process. The examples above are good. Similar ones are other food expressions, like (bread) go stale, (soft drink) go flat, (milk) go sour; states of losing one's sensory perception, like go deaf, go blind; and states of losing emotional or mental control, like go weak at the knees, go wild about sth., go frantic.
Note that your examples are for BE. In AE, you can say 'get mad' in the sense of 'become angry': Mom will get really mad if you leave the dirty dishes on the sofa. And in AE, we usually say 'go crazy' instead of 'go mad.' Other similar expressions: go nuts, go bonkers, go off the deep end, go wild ...
'Go' in this sense can also be used with 'on' + a person. I think there's a similar construction with the dative in German. Examples:
Don't go all sentimental on me!
You'd better drink that milk today or it'll go bad on you.
We thought we had the project under control, but suddenly it all went south on us.
She said the computer screen just went crazy on her for no reason.
I was going to call you but my cell phone battery went dead on me.