>백엔드 개발 >Golang >Go의 `init()` 함수는 언제, 어떻게 실행되나요?

Go의 `init()` 함수는 언제, 어떻게 실행되나요?

Linda Hamilton
Linda Hamilton원래의
2024-12-24 10:26:16428검색

When and How Does Go's `init()` Function Execute?

init() 함수는 언제 실행되나요?

init() 함수는 패키지 초기화 중에 실행되는 Go의 특수 함수입니다. 일반적으로 패키지의 main() 함수로 처리할 수 없는 초기화 작업을 수행하는 데 사용됩니다.

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 () 함수 (1)은 init() 함수 (2)가 호출되기 전에 실행되도록 보장됩니다. 그런 다음 init() 함수는 main() 함수(3)가 호출되기 전에 실행되도록 보장됩니다.

init() 함수는 main() 함수가 있는지 여부에 관계없이 항상 호출된다는 점에 유의하세요. 기능. 따라서 init() 함수가 포함된 패키지를 import 하면 실행됩니다.

위 내용은 Go의 `init()` 함수는 언제, 어떻게 실행되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.