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

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

王林
풀어 주다: 2024-02-06 10:15:07
앞으로
1014명이 탐색했습니다.

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 으아악

참조:

//m.sbmmt.com/link/7a43ed4e82d06a1e6b2e88518fb8c2b0

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

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿