Comment trouver la différence entre deux tranches de chaînes dans Golang?

Voici mon résultat souhaité

slice1 := []string{"foo", "bar","hello"}
slice2 := []string{"foo", "bar"}

difference(slice1, slice2)
=> ["hello"]

Je suis à la recherche de la différence entre la chaîne de deux tranches de!

Peut-on supposer ordre des chaînes n'a pas d'importance?
Je présume que je devais comparer, chaque indice avec l'équivalent de l'indice. Sinon, il faudrait impliquer le tri sur les tranches, ou en faisant un très lente comparaison de chaque membre de la tranche à tous les membres de l'autre tranche. J'espère que c'est tout ce qu'il faut!
Oui, ma réponse a été que de l'ordre de l'indice de position n'a pas d'importance. Bien sûr, le mien est juste un simple et "stupide" de la boucle avec le temps O(n*m) . Pour les plus grands, peut-être une sorte ou d'une carte solution est meilleure.
difflib

OriginalL'auteur samol | 2013-10-15