To make a string slice unique in Golang, you can use a map data structure to keep track of the unique elements. Here’s an example:
func uniqueSlice(s []string) []string {
unique := make(map[string]bool)
for _, str := range s {
if !unique[str] {
unique[str] = true
}
}
result := []string{}
for key := range unique {
result = append(result, key)
}
return result
}
The uniqueSlice
function takes a string slice as input and returns a new slice that contains only the unique elements. It creates a map called unique
to store the unique elements and loops over each element in the input slice. If the current element does not exist in the map already, it adds it to the map. Finally, the function loops over the keys in the map and appends them to a new slice called result
. This new slice is then returned as the output of the function.