Created
July 24, 2019 02:45
-
-
Save SLonger/92828573c79de108c764da69ead30459 to your computer and use it in GitHub Desktop.
fsf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 1. oldstring element is not in new : abandon(delete) | |
// 2. new element is not in oldstring : add(add) | |
func Difference(oldstring []string, newstring []string) map[string]string { | |
var diff = make(map[string]string) | |
// Loop two times, first to find oldstring strings not in newstring, | |
// second loop to find newstring strings not in oldstring | |
for i := 0; i < 2; i++ { | |
for _, s1 := range oldstring { | |
found := false | |
for _, s2 := range newstring { | |
if s1 == s2 { | |
found = true | |
break | |
} | |
} | |
// String not found. We add it to return slice | |
if !found && i == 0 { | |
diff[s1] = "delete" | |
} | |
if !found && i != 0 { | |
diff[s1] = "add" | |
} | |
} | |
// Swap the slices, only if it was the first loop | |
if i == 0 { | |
oldstring, newstring = newstring, oldstring | |
} | |
} | |
return diff | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment