>  기사  >  백엔드 개발  >  Go에서 Python 목록 이해 기능을 달성하는 방법은 무엇입니까?

Go에서 Python 목록 이해 기능을 달성하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-19 04:20:02576검색

How to Achieve Python List Comprehension Functionality in Go?

Go의 Python 목록 이해와 동일

Python의 목록 이해는 시퀀스를 필터링하고 변환하는 간결한 방법을 제공합니다. Go에서는 필터 기능을 사용하여 유사한 기능을 구현할 수 있습니다. 그러나 for 루프가 더 효율적이고 간단한 접근 방식을 제공할 수 있습니다.

Python 목록 이해를 재현하려면:

array = [a for a in anotherArray  if (some condition)]

Go에서는 다음 필터 함수를 사용할 수 있습니다.

import (
    "fmt"
    "math"
    "math/big"
)

func main() {
    anotherArray := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
    newArray := filter(anotherArray, func(a int) bool {
        return a%2 == 0
    })
    fmt.Println(newArray) // [2 4 6 8]
}

필터 함수는 필터링할 시퀀스와 포함할 요소를 결정하는 조건자 함수라는 두 가지 인수를 사용합니다. 조건자를 만족하는 요소만 포함하는 슬라이스를 반환합니다.

더 복잡한 표현식의 경우 Python 예제와 유사한 람다 함수를 사용할 수 있습니다.

min := func() *big.Int {
    a := big.NewInt(0)
    return a
}()
for i := 0; i < n; i++ {
    for j := i; j < n; j++ {
        potentialMin := big.NewInt(0)
        potentialMin.Abs(a[i].Sub(a[i], b[j]))
        if potentialMin.Cmp(min) == -1 {
            min = potentialMin
        }
    }
}

그러나 GoDoc for 필터 라이브러리는 for 루프가 패키지보다 더 효율적이고 바람직하다고 조언합니다. 따라서 단순성과 가독성을 위해 for 루프를 사용하는 것이 좋습니다.

위 내용은 Go에서 Python 목록 이해 기능을 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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