- golang에서 특정 명령어들이 git을 이용한다.(의존관계)
- 프로젝트 구조
- src: go를 이용해서 개발할 때 실질적으로 프로그램 소스들이 저장되는 곳
- pkg: 외부에서 패키지 파일을 끌고 왔을 때
- bin: 빌드(install) 후 실행파일들의 저장 공간
마찬가지로 go가 설치된 폴더로 가 보면 bin, pkg, src 폴더가 존재한다.
- 환경변수 세팅: go env
- GOROOT: 현재 go 가 설치된 곳
- GOPATH: 진행할 프로젝트의 경로 => 설정 필요
- GOBIN: 실행파일 경로 => 설정 필요
// ~/.bash_profile을 생성해서 환경변수 세팅 후, source ~/.bash_profile 명령어로 적용시켜준다
export GOPATH="/Users/soyeon/Documents/go_study"
export GOBIN=$GOPATH/bin
export PATH="$PATH:$GOPATH:$GOBIN"
- golang.org 에서 레퍼런스 문서 확인
- godoc -http=:8080: 로컬호스트에서 go 엔진에서 가지고 있는 서버가 실행됨, 레퍼런스 문서를 로컬호스트에서 확인 가능하다
- atom 에디터에서 go-plus, script, platformio-ide-terminal을 설치해준다
배운점
- 왜 나는 bash_profile을 설정했는데도 터미널을 새로 켤때마다 source ~/.bash_profile을 해 줘야하는 것인가?
=> 이 문제 때문에 go-plus도 제대로 실행되지 않음ㅠㅠ
이유는 zsh를 사용하고 있었기 때문이었다. bash를 기본으로 사용하고 있으면 .bashrc -> .bash_profile 순으로 실행되지만,
mac 기본 쉘이 zsh를 사용하고 있었기 때문에 .zshrc -> .bash_profile이 실행될 수 있도록 아래와 같은 부분을 추가해준다.
// ~/.zshrc 에 아래 부분 추가
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
+ 추가) bash_profile vs bashrc vs zshrc ?
- bash_profile: 시스템에 로그인할 때마다 실행 = only sourced when bash is started as an interactive login shell, or as a non-interactive shell with the `--login` option
- bashrc: 이미 로그인한 상태에서 새 터미널 창을 열때마다 실행 = sourced on every start in interactive mode when bash does not act as a login shell.
- zshrc: bash와 같은 쉘의 한 종류인데, 맥 터미널이 디폴트로 사용하고 있다. zshrc는 bashrc와 다르게 login/non-login 모두 상관 없이 실행된다.
첨에 gomodule이 뭔지도 모르고 프로젝트를 시작해서 gopath 등 환경변수 세팅하는데 애먹었었는데..
알고보니 이런 불편한 점들을 개선하기 위해 gomodule이라는 방식으로 개발하면 된다고 함
개발하고자 하는 패키지에서 아래 명령어로 go.mod 파일을 생성한 뒤, main.go 함수를 추가하고 개발하면 된다고 한다..
go mod init github.com/{username}/{repository}
'Go' 카테고리의 다른 글
Go: Golang의 특징 (0) | 2020.12.17 |
---|---|
Go: Build vs Run vs Install (0) | 2020.12.17 |