Both are understandable, but there is a difference in meaning based on the speaker's frame of reference.
If the speaker is not going with you, then "If you go, take your lunch" is most natural.
If the speaker is at the destination already, then they sound most natural saying "If you come, bring your lunch"
"If you go, bring your lunch" is an interesting case.
This has both the person moving away from the speaker, and the lunch coming towards the speaker. This seems like a contradiction, but has a few uses!
If the speaker:
will be at the destination
will not be travelling with you
AND is not already there
Then they might say "if you go, bring your lunch".
For example, you and your friends are all meeting at a park and your friend calls you on the phone before leaving.
Another case for this usage is if the speaker is empathizing strongly with you, like perhaps a parent to their child - especially if there is a sense of teaching or admonishing.
Both are acceptable, and both can mean that the speaker had eaten a lunch. Because had is a versatile word with several meanings, though, "I had my lunch" can also be used in other contexts, where it means something different. For example:
Sarah asked if I wanted to go with her to get lunch in the cafeteria, but I had my lunch.
(In other words, I had brought my own lunch from home.)
My wife saw my lunchbox on the countertop, so she called to ask if I had my lunch.
(In other words, Did I have my lunch with me? Or did I inadvertently leave it at home?)
I think I understand where this question is coming from - in Hindi, we say "Khana le liya?" to ask if someone has finished having their meal, and that would literally translate to "Did you take your food?"
So going by this, if you want to know if someone has finished having a particular meal, "Did you eat your food?" would be correct English.
However, "Have you had your <meal>?" would be more appropriate than "Did you eat.." (unless you want to make sure that they've eaten everything that was on their plate, as with children).
Here <meal> can be replaced by breakfast, luch, dinner or tea/snacks depending on the hour of day and customs.
If you want to know if they have remembered to carry their tiffin box or some such thing, then "Did you take your food" would be the statement you'd want to use.
Best Answer
Both are understandable, but there is a difference in meaning based on the speaker's frame of reference.
If the speaker is not going with you, then "If you go, take your lunch" is most natural.
If the speaker is at the destination already, then they sound most natural saying "If you come, bring your lunch"
"If you go, bring your lunch" is an interesting case.
This has both the person moving away from the speaker, and the lunch coming towards the speaker. This seems like a contradiction, but has a few uses!
If the speaker:
Then they might say "if you go, bring your lunch".
For example, you and your friends are all meeting at a park and your friend calls you on the phone before leaving.
Another case for this usage is if the speaker is empathizing strongly with you, like perhaps a parent to their child - especially if there is a sense of teaching or admonishing.