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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-10 20:10:02984검색

How to Achieve Python's List Comprehension Functionality in Go?

Go에서 Python의 목록 이해와 동일

이 게시물에서는 Go에서 Python의 목록 이해를 복제하는 방법, 특히 구문을 살펴봅니다.

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

필터 라이브러리 활용

Go에서는 Rob Pike가 제안한 필터 라이브러리를 제공합니다. 이 라이브러리는 슬라이스와 부울 함수를 인수로 사용하는 Choose() 함수를 제공합니다. 지정된 조건을 충족하는 요소만 포함하는 새 슬라이스를 반환합니다.

예:

import "google.golang.org/x/exp/slices"

func TestChoose(t *testing.T) {
    a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
    expect := []int{2, 4, 6, 8}
    result := slices.Choose(a, isEven)
}

필터 라이브러리의 주의 사항

필터 라이브러리는 편리한 공식 문서에서는 명시적 for 루프에 비해 효율성이 떨어지기 때문에 사용하지 말 것을 권고합니다.

대안으로 For 루프

Go 문서에서는 목록 대신 for 루프를 사용할 것을 권장합니다. 이해. 특히 작업 순서를 제어하거나 데이터 생성을 제한해야 하는 상황에서 더욱 효율적인 솔루션을 제공합니다.

예를 들어 다음 코드는 중첩 루프에서 최소값을 계산합니다.

min := min(abs(a[i], b[j]) for i in range(n)
                          for j in range(i, n))

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

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