>  기사  >  백엔드 개발  >  golang은 functools.partial 또는 유사한 메소드를 사용하여 다른 기능 래핑을 완료합니다.

golang은 functools.partial 또는 유사한 메소드를 사용하여 다른 기능 래핑을 완료합니다.

王林
王林앞으로
2024-02-06 10:15:07966검색

golang 使用 functools.partial 或类似的方法来完成包装其他函数

질문 내용

(golang 초보)

기본 API와 상호작용하는 두 개의 함수가 있고 이 두 함수를 재시도로 래핑하고 싶지만 두 함수의 입력 매개변수가 서로 다르다고 가정해 보겠습니다.

파이썬에서는 functools.partial를 사용하여 부분 func 객체를 만들고

에 전달합니다. 으아악

위의 간단한 예를 사용하여 golang에서 비슷한 작업을 어떻게 수행할 수 있나요? functools.partial 패키지 함수를 살펴봤는데 부분 함수 생성 시 모든 인수 전달을 허용하지 않는 것 같나요?

이 재시도 패턴을 달성하기 위해 golang에 완전히 다른 패턴이 있나요?


정답


제가 이해한 것이 맞다면functools.partial 카레 기능을 사용할 수 있게 됩니다.

Go에서는 클로저를 사용하여 카레 기능을 사용할 수 있습니다:

으아악

go는 최고 수준의 함수를 지원하므로 함수를 변수로 전달할 수 있습니다. 이 예에서는 다음과 같은 결과를 가져오는 함수 do,它接受 (a) 任何 int-->int 函数和 (b) int 并返回将该函数应用于 int를 만듭니다. 으아악

그리고

도 다음과 같기 때문입니다: do 只需要 int-->int 我们可以使用例如neg 으아악

참조:

https://www.php.cn/link/7a43ed4e82d06a1e6b2e88518fb8c2b0

위 내용은 golang은 functools.partial 또는 유사한 메소드를 사용하여 다른 기능 래핑을 완료합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제