It seems to me that your golden is dog reactive. I don't think it can be fixed, but it can be managed and he can learn to behave better. If you have a trainer in your area, you may want to consult one. For what you can do on your own, I would suggest curving or turning abruptly and go in the other direction when you see another dog - keep your dog focused on you not the other dog. Reward and praise when he follows. As he iimproves you can narrow the distance. Stop him from barking at another dog when he is inside the house and one goes by. Put yourself in front of him - back to him and you look out the window. Reward when he is quiet. Then he can look out the window. That shows him that you are in charge.
Sting Chance von Gaard AKC GSD 2/8/2006