I've asked a few people about this, but I still don't fully understand the difference between zo2(咗) and gwo3(過). For example, 'Ngo5 heoi3 zo2 hoeng1 gong2' and 'Ngo5 heoi3 gwo3 hoeng1 gong2'.
Someone told me before that 'gwo3' is used for something that you would experience. So like 'tai2 gwo3', 'heoi3 gwo3', 'lai4 gwo3', and then like 'sik6 zo2', 'jam2 zo2'.
But then someone else told me that' zo2' is used for things that are further in the past than 'gwo3'.
I'm so confused.
If someone could explain it thoroughly to me then that would be great, thanks!!
To explain this, it's better to look at its applications in sentences.
1) 你食過榴蓮未啊？Have you ever tried/eaten durian?
你食左榴蓮未啊？Did you eat / have you eaten (the) durian?
2) 我食過飯喇 = 我食左飯喇 Both means: I ate a meal. The first one sounds old-fashioned and being used by people of 80 years old+.
3) 你有無睇過 Jurassic Park啊？Have you (ever) seen Jurassic Park?
你有無睇左 Jurassic Park啊? (Wrong sentence forming. Instead, we ask 你睇左Jurassic Park未啊? Have you watched Jurassic Park yet?)
4) 你溫左書未啊? Have you studied yet?
我溫左 I did (in the sense of, I have studied it - implying it's thorough and complete)
我溫過 I did (in the sense of, I have studied it - implying partially / not thorough)
I think 過 buts emphasis that it was experiences something. So like:
Have you been to CHina before?: 你有冇去過中國呀?
last month I went to China again: 上個星期我去咗中國添
For a more complete discussion:
If you have the money to spend on such things, I'd also highly recommend this book (make sure you get the 2nd edition as it now has Chinese characters):
2. 我去過香港。I had/have been to HK, but I didn't mention when. And I am not in there now.