GO언어 기본 디렉토리 설정

in #kr7 years ago

설치는 https://golang.org/dl/에서 받으시면 됩니다.

기본 디렉토리

Go 언어는 모든 부분이 패키지로 구성되어 있고, 인터넷에 있는 소스 코드를 받아와서 바로 사용하기 때문에 기준 디렉터리가 필요합니다.

다음과 같이 company 디렉터리를 예로 들면 company아래에 bin, pkg, src 디렉터리가 들어있습니다.

  • bin: 소스 파일(패키지)를 컴파일하여 실행 파일(바이너리)이 생성되는 디렉터리입니다.
  • pkg: 패키지를 컴파일하여 라이브러리 파일이 생성되는 디렉터리입니다. pkg 디렉터리 아래에는 <운영체제>_<아키텍쳐> 형식으로 디렉터리가 생성됩니다. 64비트 리눅스라면 linux_amd64 디렉터리 아래에 라이브러리 파일이 생성됩니다.
  • src: 내가 작성한 소스 파일과 인터넷에서 자동으로 받아온 소스 파일이 저장되는 디렉터리입니다.
[경로]
 ┖[프로젝트명]
      ┠bin
      ┠pkg
      ┖src
           ┖hello
                 ┖hello.go 

환경변수

리눅스 및 mac OS
$ vi ~/.bash_profile 
#추가
export GOROOT=/usr/local/go 
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/[경로]/[프로젝트명] 
 
$ source ~/.bash_profile
 
$ go env --결과확인
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/[경로]/[프로젝트명]"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT=""
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"


또는 
$ vi ~/.bashrc 
#추가
export GOROOT=/usr/local/go 
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/home/[경로]/[프로젝트명] 
 
$ source ~/.bashrc

이렇게 설정된 뒤에는 인터넷에서 소스 코드를 받아와서 저장하거나, 패키지를 컴파일하여 라이브러리 파일이 생성될 때 GOPATH에 설정된 경로를 기준으로 합니다. 또 다른 프로젝트를 시작할 때는 GOPATH를 해당 프로젝트 경로로 바꿔주면 됩니다.