Go의 슬라이스에서 중복 값을 효율적으로 제거하는 방법
Go를 처음 접하는 사람들은 슬라이스에서 중복 값을 제거하는 데 어려움을 겪는 경우가 많습니다. 슬라이스를 반복하고 중복 항목을 수동으로 확인하는 것은 실행 가능한 접근 방식처럼 보일 수 있지만 비효율적입니다. 이 문서에서는 일반적으로, 특히 문자열과 정수에 대해 중복 항목을 제거하기 위한 최적의 솔루션을 제시합니다.
일반 솔루션
다음 일반 함수는 맵을 활용하여 고유한 요소를 추적합니다. 그에 따라 추가합니다:
func removeDuplicate[T comparable](sliceList []T) []T { allKeys := make(map[T]bool) list := []T{} for _, item := range sliceList { if _, value := allKeys[item]; !value { allKeys[item] = true list = append(list, item) } } return list }
문자열별 솔루션
효율성 향상을 위해 문자열별 솔루션을 사용할 수 있습니다.
func removeDuplicateStr(strSlice []string) []string { allKeys := make(map[string]bool) list := []string{} for _, item := range strSlice { if _, value := allKeys[item]; !value { allKeys[item] = true list = append(list, item) } } return list }
정수별 솔루션
마찬가지로, 정수 관련 솔루션은 추가 기능을 제공합니다. 최적화:
func removeDuplicateInt(intSlice []int) []int { allKeys := make(map[int]bool) list := []int{} for _, item := range intSlice { if _, value := allKeys[item]; !value { allKeys[item] = true list = append(list, item) } } return list }
사용법
이러한 함수는 중복 값이 포함된 슬라이스를 전달하고 고유한 요소만 포함된 새 슬라이스를 수신하여 활용할 수 있습니다.
// Sample usage cities := []string{"Mumbai", "Delhi", "Ahmedabad", "Mumbai", "Bangalore", "Delhi", "Kolkata", "Pune"} uniqueCities := removeDuplicate(cities)
결론
제시된 솔루션 Go의 슬라이스에서 중복 값을 제거하는 최적의 방법을 제공하여 효율적인 코드와 최적의 성능을 제공합니다.
위 내용은 Go 슬라이스에서 중복 값을 효율적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!