How do I deduplicate a slice in Go?

In Go, you can deduplicate a slice by converting it into a map, which inherently eliminates duplicates due to its unique key constraint. Below is an example demonstrating how to achieve this.

Keywords: Go, deduplicate slice, Go programming, unique elements
Description: This guide shows you how to remove duplicate elements from a slice in Go, showcasing an efficient approach using maps.
package main import ( "fmt" ) func deduplicate(slice []int) []int { unique := make(map[int]struct{}) for _, item := range slice { unique[item] = struct{}{} } result := make([]int, 0, len(unique)) for key := range unique { result = append(result, key) } return result } func main() { nums := []int{1, 2, 2, 3, 4, 4, 5} uniqueNums := deduplicate(nums) fmt.Println(uniqueNums) // Output: [1 2 3 4 5] }

Keywords: Go deduplicate slice Go programming unique elements