• 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

+ Recent posts