Go에서 함수를 매개변수로 사용
Java에서는 구현이 다소 복잡하더라도 함수를 매개변수로 전달할 수 있습니다. 익명의 내부 클래스. 하지만 Go는 이 프로세스를 단순화하기 위해 유사한 메커니즘을 제공합니까?
Go의 함수 유형
예, Go는 함수 유형을 사용하여 함수를 매개변수로 전달하는 것을 지원합니다. 함수 유형은 매개변수 유형과 반환 값을 지정하여 함수의 시그니처를 정의합니다. 예를 들어, 정수 인수를 취하고 문자열을 반환하는 함수 유형 변환을 정의할 수 있습니다.
type convert func(int) string
함수 유형 구현
구체적인 함수를 구현할 수 있습니다. 이는 변환 함수 유형을 만족합니다:
func value(x int) string { return fmt.Sprintf("%v", x) }
함수를 다음으로 전달 매개변수
함수 유형을 정의하고 구현하면 함수를 다른 함수에 매개변수로 전달할 수 있습니다. 예를 들어, 다음 함수 quote123은 변환 유형의 함수를 취해 이를 숫자 123에 적용합니다.
func quote123(fn convert) string { return fmt.Sprintf("%q", fn(123)) }
예
제공된 코드 예제에서 우리는 변환 함수 유형을 사용하고 함수를 매개변수로 전달하는 방법을 보여줍니다.
이는 Go 함수 유형의 유연성과 표현력을 보여줌으로써 구성 가능하고 재사용 가능한 코드를 생성할 수 있습니다.
위 내용은 Java처럼 함수를 매개변수로 전달하는 방법과 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!