더북(TheBook)

2.5.3 별칭

패키지 이름에 별칭(alias)을 줄 수도 있다. 주로 패키지 이름이 길거나 중복되는 패키지가 있을 때 별칭을 사용한다. 다음 코드에서는 go-book-sample/ch2/lib 패키지를 임포트해서 사용하는데 패키지 이름이 중복될 우려가 있어서 mylib로 별칭을 주어 사용한다.


package main
 
import (
    "fmt"
    mylib "go-book-sample/ch2/lib"
)
  
func main() {
    fmt.Println(mylib.IsDigit('1')) // lib 패키지의 IsDigit 함수 사용
    fmt.Println(mylib.IsDigit('a')) // lib 패키지의 IsDigit 함수 사용
}

실행 결과

true

false

Go에서는 임포트한 패키지를 사용하지 않으면 컴파일 에러가 발생한다. 하지만 패키지 이름에 빈 식별자(_)로 별칭을 주면 컴파일 에러가 발생하지 않는다. 이 기능은 디버깅할 때 유용하게 사용된다.


package main
 
import (
    "fmt"
    _ "go-book-sample/ch2/lib"
)
  
func main() {
    fmt.Println("lib 패키지 사용 코드 잠시 제거")
    // fmt.Println(mylib.IsDigit('1'))
    // fmt.Println(mylib.IsDigit('a'))
}

실행 결과

lib 패키지 사용 코드 잠시 제거

패키지의 구성과 활용은 7장 패키지에서 상세히 다룬다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.