给你把will be也放到一起比较吧
相同点:
will be和 be going to do 均可表示将要发生的事、将要去做某事
不同点:
一般be going to do都是指有计划,有准备的,而 will 没有
比如:He will be here in 10 minutes.他将在十分钟之内到达.
He is going to go shopping.他打算去购物.
be going to do还可以用于表示有迹象做.
比如:It looks as if it is going to rain.看起来似乎要下雨.
will have是指将来会有.be going to have是错误的,应该是 there is going to do ,表示there be 的将来时态.至于为什么不能用have是因为have和there be都是“有”的意思,同时存在就相当于汉语里的重复了.