[go] Go 언어에서 패키지 고급 사용법 이해하기

Go 언어에서는 패키지를 사용하여 코드를 구조화하고 모듈화할 수 있습니다. 이번 블로그에서는 Go 언어에서 패키지의 고급 사용법에 대해 알아보겠습니다.

1. 패키지 초기화 함수 활용

Go 언어에서 패키지를 초기화할 때 init() 함수를 활용할 수 있습니다. 이 함수는 패키지가 로드될 때 자동으로 실행되며, 초기화 작업에 활용됩니다.

package example

import "fmt"

var globalVar int

func init() {
    globalVar = 10
    fmt.Println("Example package initialized")
}

위 예시에서 init() 함수를 통해 globalVar 변수를 초기화하고 초기화 메시지를 출력하도록 정의하였습니다.

2. 패키지 별칭 사용

가끔 패키지의 이름이 너무 길거나, 여러 패키지를 함께 사용해야할 때에는 각 패키지에 별칭을 지정하여 사용할 수 있습니다.

package main

import (
    f "fmt"
    m "math"
)

func main() {
    f.Println(m.Pi)
}

위 예시에서는 fmt 패키지에 f라는 별칭을, math 패키지에 m이라는 별칭을 지정하여 사용하였습니다.

3. 내부 패키지 사용

Go 언어에서는 패키지 내부에 또 다른 패키지를 만들어 사용할 수 있습니다. 이를 통해 관련된 기능들을 한 곳에 그룹화하여 구조화할 수 있습니다.

package main

import (
    "example/pkg1"
    "example/pkg2"
)

func main() {
    pkg1.Func1()
    pkg2.Func2()
}

위 예시에서 example 패키지 내부에 pkg1pkg2라는 두 개의 패키지가 포함되어 있으며, 각각의 함수를 호출하여 사용하고 있습니다.

결론

Go 언어에서는 패키지를 초기화 함수로 활용하거나, 패키지에 별칭을 지정하여 사용하거나, 패키지 내부에 다른 패키지를 만들어 사용하는 등 다양한 고급적인 패키지 사용법을 제공합니다. 이러한 기능들을 적절히 활용하여 코드를 효율적으로 구조화하고 모듈화하는 것이 중요합니다.

참고문헌: Go Language Specification - Package initialization