Use will to talk about something that you think will happen.
- I think he’ll win the election.
- He will be a good doctor.
Use be going to to talk about something that you see is going to happen (there is present evidence).
- Don’t drive like a crazy man. We’re going to have an accident!
- The doctor said I’m going to have a girl.
Sometimes there’s little difference between will and be going to for predictions. Compare:
- The conference starts in 10 minutes. We are going to be late. (=I can see that we cannot be at the conference in 10 minutes)
- We need to hurry up. We’ll be late for the conference. (=I think we will be late)
Use will for decisions that you take at the moment of speaking (instant decisions).
- ‘Oh, we don’t have sugar.’ ‘Don’t worry, I’ll buy some.’
Use be going to for decisions that you have already taken at the moment of speaking (intentions or plans).
- ‘Why are you undressing?’ ‘Because I’m going to go for a swim.’
Compare these two sentences:
- ‘Sarah said she needs to talk to you.’ ‘Oh, I didn’t know. I’ll call her in a minute.’ (=I took the decision while having this conversation.)
- ‘Sarah said she needs to talk to you.’ ‘Yes, I know. I’m going to call her in a minute.‘ (=I took the decision before having this conversation.)