init 함수는 패키지 메인과 다른 패키지에 있을 수 있으며, 동일한 패키지에 여러 번 나타날 수 있습니다.
실행 순서golang에는 두 가지 예약된 함수가 있습니다: init 함수(모든 패키지에 적용 가능) 및 main 함수 (패키지 메인에만 적용 가능) .
이 두 함수는 정의 시 매개변수나 반환값을 가질 수 없습니다.한 패키지에 init 함수를 얼마든지 작성할 수 있지만 가독성과 향후 유지 관리성을 위해 사용자가 하나의 패키지에 작성하는 것이 좋습니다. 파일당 하나의 init 함수만 작성하세요. go 프로그램은 init() 및 main()을 자동으로 호출하므로 어디서든 이 두 함수를 호출할 필요가 없습니다. 각 패키지의 init 함수는 선택 사항이지만 패키지 main에는 main 함수가 포함되어야 합니다.
프로그램의 초기화와 실행은 메인 패키지부터 시작됩니다.메인 패키지가 다른 패키지도 가져오는 경우 컴파일하는 동안 순서대로 가져옵니다. 때로는 여러 패키지에서 동시에 패키지를 가져오기 때문에 한 번만 가져옵니다. 예를 들어 많은 패키지가 fmt 패키지를 사용할 수 있지만 여러 패키지를 가져올 필요가 없기 때문에 한 번만 가져옵니다. 타임스). 패키지를 가져올 때 해당 패키지가 다른 패키지도 가져오는 경우 다른 패키지를 먼저 가져온 다음 해당 패키지의 패키지 수준 상수 및 변수를 초기화한 후 다음을 실행합니다. init 함수(있는 경우) 등.
가져온 패키지가 모두 로드되면 메인 패키지의 패키지 수준 상수와 변수가 초기화된 후 메인 패키지의 init 함수가 실행됩니다(존재하는 경우). 주요 기능을 실행합니다. 다음 그림에서는 전체 실행 과정을 자세히 설명합니다.
위 내용은 golang의 기본 반환 값은 어떻게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!