자식 함수에서 제어 반환
부모 함수에서 자식 함수를 호출할 때 일반적으로 자식 함수 이후에 부모 함수에서 실행이 계속됩니다. 함수가 반환됩니다. 그러나 어떤 상황에서는 하위 함수 호출 결과에 따라 상위 함수에서 실행을 종료하고 싶을 수도 있습니다.
다음 예를 고려하세요.
func apiEndpoint() { if false { apiResponse("error") // Call child function // Expect to end execution after apiResponse() call } apiResponse("all good") } func apiResponse(message string) { // Returns message to user via JSON }
이 예에서는 apiResponse 함수가 "오류" 메시지와 함께 호출되면 apiEndpoint 함수가 실행을 종료하기를 원합니다. 그러나 있는 그대로의 코드는 이 목표를 달성하지 못합니다.
하위 함수의 한계
여기서 중요한 제한은 하위 함수가 해당 함수의 실행을 제어할 수 없다는 것입니다. 부모 기능. 상위 함수는 자체 실행 흐름을 결정합니다.
대체 솔루션
원하는 동작을 달성하는 대체 방법이 있습니다.
func apiEndpoint() { if false { apiResponse("error") } else { apiResponse("all good") } }
func apiEndpoint() string { if false { return apiResponse("error") } return apiResponse("all good") } func apiResponse(message string) string { return message }
위 내용은 하위 함수가 상위 함수 실행에 어떤 영향을 미칠 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!