2 关于have gone /have been

老师您好,我在看张道真语法时。看到书上说,
1 have gone  to /to do    表示去了某地/去做某事  还没回来

2 have been  to /to do /in 。。。等表示去某地/做某事已经回来了 

我的疑问是:have gone to 本身是go to sp/go to do sth 的完成体,而go 是一个动态动词,此时显然也不是表示习惯状态,那现在完成态就是表示对于现在而言,动作的完成,为什么会有没回来的这种深意呢


而have been 。。。本身是be 的完成体,be 是一个静态动词,表示现在之前的过去持续到现在的一个状态,那比如说she has been to the cinema,或者she has been in China 不应该恰恰表示过去的在电影院和在中国的这个状态一直持续到现在,而没回来吗。为什么又表示现在已经回来了呢(您之前说过,一般静态动词表示状态的完成体需要跟状语表示持续了多久,)那此处属于静态动词转意表示动态吗 


请先 登录 后评论

最佳答案 2020-04-20 09:25

这个问题没有那么复杂,你只需知道have been to +地点名词 意为曾去过某处即可。例如:

Have you ever been to Rome. 你去过罗马吗?

How many times have you been to Beijing? 你去过北京几次?

I have been to Shenzhen many times. 我去过深圳好多次。

be to +地点名词的这种用法只用于现在完成时,不用于其它时态,表示某人曾去过某处,现在不在那里。有词典解释这种用法的be+to为visit的意思。


某人在某处多久了 用have been in+地点+for/since状语。

仅仅表示某人现在在某处,用一般现在是 Sb is in +地点。

这是静态动词be的普通用法,没有特殊之处。无须特殊注意。


go为动态动词。He has gone. 现在完成时,表示过去动作的结果现在依然存在,即他现在不在此处。He has gone to Shanghai. 他去上海了。(他现在不在这里。) He went to Shanghai. (当时他去了上海。和现在没有关系。)所以,have gone to就是现在完成时的普通用法,没有什么特殊之处。无须特殊注意。

请先 登录 后评论

其它 1 个回答

曾克辉  
擅长:英语考试

赞同曹老师的解答。补充一点供网友参考:

在美国口语中,have gone to常可以代替have been to,当主语是第一或第二人称时,have gone to 可以表示“到过某地(现已回来)”的意义。费致德《现代英语惯用法词典》(P.426)有如下说明:

Have you ever gone (been) to New York? 用于问人是否去过,是否有此经历。在口语里,答语常用的形式如下:

Yes, I have (gone there). I went last year.

I have already gone there.

I have gone there twice.

No, I have never been (gone) there.



请先 登录 后评论
  • 0 关注
  • 7 收藏,5261 浏览
  • sunyue8888 提出于 2020-04-19 15:05

相似问题