더북(TheBook)

라이브러리

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

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