Go 패키지에서 메소드 발견
Go에서는 첫 주에 알아차렸듯이 동적으로 반복하는 직접적인 메커니즘이 없습니다. 패키지 방식을 통해 Python과 같은 언어와 달리 Go는 패키지의 내용을 검사하지 않습니다.
이 디자인 결정은 실행 파일에서 명시적으로 참조되는 함수와 변수만 유지하는 Go의 엄격한 컴파일 프로세스에서 비롯됩니다. 사용되지 않는 함수나 변수는 컴파일 타임에 삭제됩니다. 결과적으로 불완전할 수 있는 기호 세트에 대한 반복은 의미가 없으며 구현되지 않습니다.
대체 접근 방식
이 제한을 피하려면 다음의 객체를 포함하는 배열을 생성하는 것이 좋습니다. 작업하려는 유형입니다. 예를 들어 계산기 시나리오에서 배열을 정의할 수 있습니다.
var calculators = []*calculator.Calc{&calculator.Add{}, &calculator.Sub{}, &calculator.Mult{}, ...}
그런 다음 이 배열을 반복하여 각 Calculator.Calc 개체에 대해 First 및 Second 메서드를 호출할 수 있습니다. 이 접근 방식은 약간 장황해 보일 수 있지만 이를 통해 프로그램에 알려진 전체 방법 세트를 반복할 수 있습니다.
위 내용은 Go 패키지의 메소드를 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!