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장 패키지에서 상세히 다룬다.