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