Golang 패키지 - Go series(8)
Categories: Golang
패키지
- Go는 패키지를 통해 모듈화, 재사용기능을 제공하는데, 패키지를 이용해서 작은 단위의 컴포넌트를 작성하고 이 작은 패키지 단위를 활용해서 프로그램을 작성할 것을 권장한다. 기본적인 표준 라이브러리도 많은데, 이는 보통 GOROOT/pkg 안에 존재한다. GOROOT 환경변수는 Go 설치 디렉토리를 가리키는데 설치 시 자동 추가된다.
main 패키지
- 일반적으로 패키지는 라이브러리로서 사용이 되는데, main이라는 패키지는 특별히 인식이 된다. 해당 패키지를 공유하는 라이브러리로서 읽는 것이 아니라 실행가능한 프로그램패키지로 인식을 한다. 따라서 main의 패키지 안의 main이라는 func가 Entry point가 된다.
패키지 import
다른 패키지를 사용할 때는 import를 사용하여 패키지를 포함한다.
package main
import "fmt"
func main(){
fmt.Println("Hello!")
}
패키지를 import 할 때 Go 컴파일러는 고루트와 고패스를 검색하는데, 표준 패키지는 위에서 설명했듯이 GOROOT/pkg에서 찾으며 사용자 패키지는 GOPATH/pkg에서 찾게 된다.
패키지 Scope
패키지는 함수, 구조체, 인터페이스, 메서드가 존재하는데 첫 글자가 대문자면 public으로 사용할 수 있다. 반대로 소문자일 때는 non-public 하다.
init과 alias
패키지 작성 시 패키지를 실행할 때 처음 호출이 되는 init 함수를 쓸 수 있다. 또 이를 활용함에 따라 패키지를 선언할 때 init만 사용하고 싶은 경우도 있을 것이다. 이런 경우 import 시 _를 포함하여 import를 한다.
사용자 정의 패키지 만들기
일반적으로 폴더 하나를 만들고 그 폴더 안에 .go 파일을 만들어서 구성한다. 한 폴더에 있는 go는 동일한 패키지명을 가지며 패키지명은 해당 폴더의 이름과 같게 한다. 이후 코드를 작성한 후 go install
명령어를 이용하여 할 수 있다.
Leave a comment