Python 프로그래머는 목록 요소에 함수를 적용하는 데 대한 일종의 목록 이해력에 익숙합니다. 그러나 Go에서는 일반적으로 더 명시적인 루프 기반 접근 방식이 사용됩니다.
다음은 Go의 전통적인 접근 방식을 보여주는 코드 조각입니다.
list := []int{1, 2, 3} list2 := []int{} for _, x := range list { list2 = append(list2, multiply(x, 2)) } str := strings.Join(list2, ", ")
더 간결한 방법이 있나요? 이게 Go에 있나요?
Go 1.18의 일반 맵 소개 기능
Go 1.18이 출시되면서 일반 Map 기능이 도입되었습니다. 이를 통해 요소를 나열하는 함수를 간결하게 적용하고 변환된 값을 포함하는 새 목록을 생성할 수 있습니다.
func Map[T, V any](ts []T, fn func(T) V) []V { result := make([]V, len(ts)) for i, t := range ts { result[i] = fn(t) } return result }
사용 예
Map 함수는 다음을 수행할 수 있습니다. 다음과 같이 사용된다 다음은 다음과 같습니다.
input := []int{4, 5, 3} outputInts := Map(input, func(item int) int { return item + 1 }) outputStrings := Map(input, func(item int) string { return fmt.Sprintf("Item:%d", item) })
결론
Go 1.18의 일반 Map 함수는 목록 요소에 함수를 적용하는 간결하고 효율적인 방법을 제공합니다. 변화된 가치. 코드를 단순화하고 가독성을 높입니다.
위 내용은 Go에서 요소를 간결하게 나열하는 함수를 어떻게 적용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!