In Italy may happen that someone you don't know can call you "amico" (which is amigo, friend); it's not a bad or unpolite thing here, by the way I guess it depends also on the kind of restaurant you are: for example in a luxurious one nobody dares to call you as "amico"...maybe if you are in "Pizzeria" it is more likely and it's not a thing for which one has to be offended!
I'd say no; it could easily be interpreted as a sign of disrespect. If you are familiar with other languages, use the same guidelines you would for formal and informal modes of address.
Apparently, "amigo" in Spanish or "amico" in Italian is a synonym for "friend" in English. It's perfectly Okay to address people this way in Latin World. (certain restrictions might apply)
But, things are getting more complicated if it's spoken in the US. Whether it's insulting or not is debatable. Some people say YES, some say NO. That's why I was questioning it at beginni
This is difficult to explain. Like so many things, it could entirely depend on your tone of voice and your smile when you said it whether it could be taken "the wrong way."
If you wanted to be friendly, and you're in the U.S. where English is the official language, and you said "Thank you, my friend," to the waiter, it would be nothing other than friendliness. But if the waiter was obvio
I agree that it could be taken as an insult, even if not intended that way - it would be sort of like saying "thanks, Jose" (or some other typically Latino name) when you don't actually know the person's name - it's like saying "all I need to know about you is that you're Latino." You might offend someone without menaing to. It's safer not to comment on someone's ethnicity at all.
The waiter isn't in a position to call the diner "amigo" (or "friend"). So it puts him at a disadvantage, if the diner attempts any kind of chumminess. (To some extent, it emphasises the fact that he's taking "orders".)