일반 함수를 사용하여 객체 배열 매핑
Go에서 배열에서 작동하는 함수는 유연성이 없는 특성과 관련 오버헤드로 인해 특정 제한이 있습니다. 인수 복사와 함께. 이 기사에서는 일반 최상위 함수를 사용하여 간결한 방식으로 객체 배열을 매핑하는 접근 방식을 살펴봅니다.
Go에서 객체 배열을 매핑하려면 한 줄짜리를 사용하면 다음과 같이 Map이라는 일반 함수를 정의할 수 있습니다.
func Map[T, U any](ts []T, f func(T) U) []U { us := make([]U, len(ts)) for i := range ts { us[i] = f(ts[i]) } return us }
이 함수는 T 유형의 배열과 다음을 사용하는 함수 f를 사용합니다. T 유형의 매개변수이고 U 유형의 값을 반환합니다. 이는 매핑된 값을 포함하는 U 유형의 배열을 반환합니다.
객체 배열을 매핑하려면 Map 다음과 같은 기능을 수행합니다.
names := []string{"Alice", "Bob", "Carol"} fmt.Println(Map(names, utf8.RuneCountInString))
이 코드는 다음 출력을 인쇄합니다. stdout:
[5 3 5]
Map 함수는 루프를 기반으로 하며 배열에서 작동하는 기본 함수에 비해 오버헤드가 발생할 수 있습니다. 잠재적인 성능 영향과 간결한 구문의 이점을 비교하는 것이 중요합니다.
위 내용은 일반 함수를 사용하여 Go에서 객체 배열을 효율적으로 매핑하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!