Go의 Init(): 정확한 설명
Go 프로그래밍 언어로 작업할 때 init()가 어떻게 작동하는지 이해하는 것이 중요합니다. 기능이 작동합니다. 이 함수는 패키지 및 해당 종속성의 초기화 프로세스에서 중요한 역할을 합니다.
Effective Go에서 언급한 바와 같이:
"init는 패키지의 모든 변수 선언이 해당 초기화 프로그램을 평가한 후에 호출됩니다. , 가져온 패키지가 모두 초기화된 후에만 평가됩니다."
이 명령문은 모든 패키지의 변수가 초기화된 후에 init() 함수가 실행됨을 나타냅니다. 초기화되고 가져온 패키지가 모두 초기화된 후입니다. 변수를 초기화한다는 것은 해당 초기화 프로그램을 평가하는 것을 의미합니다.
더 자세히 설명하려면 다음 시나리오를 고려하세요.
var WhatIsThe = AnswerToLife() func AnswerToLife() int { // 1 return 42 } func init() { // 2 WhatIsThe = 0 } func main() { // 3 if WhatIsThe == 0 { fmt.Println("It's all a lie.") } }
이 예에서는
이는 AnswerToLife()가 init()보다 먼저 실행되고 init()가 실행됨을 보여줍니다. main() 이전에 실행됩니다. 또한 모든 패키지의 종속성 및 변수가 초기화된 후 init()가 변수 값 설정과 같은 모든 초기화 로직을 실행한다는 점을 강조합니다.
init()는 항상 호출된다는 점에 유의하는 것이 중요합니다. main() 함수가 있든 없든 상관없습니다. 따라서 init() 함수가 포함된 패키지를 가져오면 해당 패키지가 실행됩니다. 또한 패키지에는 여러 init() 함수가 있을 수 있으며 파일에 나타나는 순서대로 실행됩니다.
위 내용은 Go의 `init()` 함수는 패키지 초기화에서 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!