Skip to content

Instantly share code, notes, and snippets.

@rurumimic
Last active February 5, 2018 02:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rurumimic/e8a80d3e2e5dccdf7bd761904dc21d61 to your computer and use it in GitHub Desktop.
Save rurumimic/e8a80d3e2e5dccdf7bd761904dc21d61 to your computer and use it in GitHub Desktop.
Setup Golang

Go

다운로드 페이지

Go 설치

$ cd ~
$ wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz
$ sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

# edit /etc/profile or $HOME/.profile
$ emacs $HOME/.profile

# 맥에서 패키지 설치로 했다면 안 해도 됨
# adding this line
export PATH=$PATH:/usr/local/go/bin

Go Env 설정 바꾸기

원하는 곳으로 바꿀 수 있다.

$ go env # 환경 설정 확인
$ emacs ~/.bash_profile

export GOPATH=$HOME/go
export GOBIN=$HOME/go/bin

$ source ~/.bash_profile
$ go env # 환경 설정 확인

워크스페이스 구성

$ cd ~
$ mkdir go
$ mkdir bin
$ mkdir pkg
$ mkdir src/github.com/USERNAME/PROJECTNAME

Dep 설치

설치 도큐먼트

$ cd ~
$ go get -u github.com/golang/dep/cmd/dep

# edit $HOME/.bashrc
$ emacs $HOME/.bashrc

# dep 프로그램이 자동으로 잡히지 않아서 추가
export PATH=$PATH:~/go/bin

프로젝트 구성

$ cd ~/go/src/github.com/USERNAME/PROJECTNAME
$ dep init
$ ls

Gopkg.toml Gopkg.lock vendor/

emacs 설정

go-mode

$ emacs
$ M-x package-list-packages
$ C-s go-mode

flymake-go

$ emacs
$ M-x package-list-packages
$ C-s flymake-go
$ emacs ~/.emacs.d/init.el

(eval-after-load "go-mode"
  '(require 'flymake-go))

goflymake

$ go get -u github.com/dougm/goflymake
$ emacs ~/.emacs.d/init.el

(add-to-list 'load-path "~/go/src/github.com/dougm/goflymake")
(require 'go-flymake)
(require 'go-flycheck)

$ goflymake flymake_filename.go

gocode

$ go get -u github.com/nsf/gocode

$ emacs
$ M-x package-list-packages
$ C-s auto-complete
$ C-s go-autocomplete
$ emacs ~/.emacs.d/init.el

(require 'go-autocomplete)
(require 'auto-complete-config)
(ac-config-default)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment