라이브러리
main 외의 패키지는 모두 라이브러리로 만들어진다. Go 기본 라이브러리 패키지가 아닌 커스텀 패키지를 임포트할 때는 $GOPATH/src 디렉터리를 기준으로 한 경로로 임포트해야 한다. 기본 라이브러리 패키지와 마찬가지로 커스텀 패키지의 내부 요소도 패키지명.식별자로 접근한다.
간단한 라이브러리를 만들어 main 패키지에서 임포트하여 사용해 보자.
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