will可用来表示某种客观性,不可避免,表示将要发生的事;will表示现在的将来,就好像一般过去时表示现在(说话的时候)的过去一样;但一般而言will表示的将来的概念是指从现在开始延伸到无限的未来,而be going to则表示比较近的将来。will还能当情态动词使用,这个时候当然是表示说话的人的主观意愿。
而be going to则表示某一种计划,或者说根据某种情况作出的某种猜测。说天要下雨一般说,It is going to rain。这是根据某种迹象来推测的天气状况,或者说天上有乌云密布,或者说电闪雷鸣,总之如果这样说天气的话是基于某一种推测。
My thoughts suddenly became alert: he was going to die of AIDS.
我忽然警觉起来,他将死于艾滋病。(这里是一种推测,基于某种已知的条件作出的判断)
She was going to die in the most painful way possible.
她可能以最痛苦的方式死去。(说这句话的语境是在那之前说话人就已经知道了一些其他的情况足以让他作出这样的预测)