>백엔드 개발 >Golang >Go에서 요소를 간결하게 나열하는 함수를 어떻게 적용할 수 있나요?

Go에서 요소를 간결하게 나열하는 함수를 어떻게 적용할 수 있나요?

DDD
DDD원래의
2024-11-20 13:46:13527검색

How Can I Apply Functions to List Elements Concisely in Go?

Go에서 요소를 나열하는 간결한 함수 응용 프로그램

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.