라이브러리
main 외의 패키지는 모두 라이브러리로 만들어진다. Go 기본 라이브러리 패키지가 아닌 커스텀 패키지를 임포트할 때는 $GOPATH/src 디렉터리를 기준으로 한 경로로 임포트해야 한다. 기본 라이브러리 패키지와 마찬가지로 커스텀 패키지의 내부 요소도 패키지명.식별자로 접근한다.
간단한 라이브러리를 만들어 main 패키지에서 임포트하여 사용해 보자.
lib 패키지를 위한 디렉터리를 생성한다.
$ cd $GOPATH/src/go-book-sample/ch2
$ mkdir lib
lib 디렉터리에 lib.go 파일을 생성하고 다음과 같이 코드를 작성한다. 매개변수로 전달한 문자가 숫자인지 판단하는 IsDigit 함수를 만들었다.
▼ $GOPATH/src/go-book-sample/ch2/lib/lib.go
package lib func IsDigit(c int32) bool { return '0' <= c && c <= '9' }
앞에서 만든 main 패키지에서 lib 패키지의 IsDigit 함수를 사용해 보자.
▼ $GOPATH/src/go-book-sample/ch2/pkg/main.go
package main import ( "fmt" "go-book-sample/ch2/lib" ) func main() { fmt.Println(lib.IsDigit('1')) // lib 패키지의 IsDigit 함수 사용 fmt.Println(lib.IsDigit('a')) // lib 패키지의 IsDigit 함수 사용 }
실행 결과
true
false