이 게시물에서는 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 루프에 비해 효율성이 떨어지기 때문에 사용하지 말 것을 권고합니다.
Go 문서에서는 목록 대신 for 루프를 사용할 것을 권장합니다. 이해. 특히 작업 순서를 제어하거나 데이터 생성을 제한해야 하는 상황에서 더욱 효율적인 솔루션을 제공합니다.
예를 들어 다음 코드는 중첩 루프에서 최소값을 계산합니다.
min := min(abs(a[i], b[j]) for i in range(n) for j in range(i, n))
위 내용은 Go에서 Python의 목록 이해 기능을 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!