1. Go lang?
go는 구글에서 개발하여 서비스하고 있는 프로그램 언어로 2009년에 처음 등장한 이후 지속적으로 활용범위와 선호도가 높아지고 있는 언어입니다. go의 가장 큰 특징이자 강점은 '병행성'으로 동시성을 가진 프로그램을 만들기에 최적화되어 있습니다.
다른 언어를 한 번이라도 공부해봤다면 쉽게 익힐 수 있고, 처음 배우게 되는 언어로써도 나쁘지 않다고 생각됩니다.
2. 개발환경 구성 in MAC os
1. Go 설치
- go를 사용하기 위해서는 기본적으로 git이 설치되어 있어야 합니다.
1. 설치
링크로 접속하면 go 설치 화면으로 이동할 수 있습니다. 운영체제에 맞게 설치하시면 됩니다.
패키지 파일을 실행하시고 next버튼을 쭉 눌러주시면 됩니다.
설치 경로는 "/usr/local/go" 이고 환경변수 정보는 "/etc/paths.d/go" 에 저장되어 있습니다.(window 유저는 C:/Go)
설치가 진행되는 동안 작업공간(work space)을 만들어 둡니다. go의 작업 영역에는 'pkg', 'src', 'bin' 세 개의 하위 폴더가 존재해야 합니다. 주로 작업하시는 공간에 폴더를 하나 만들어 세 가지 폴더를 생성해두면 됩니다. (저는 "/Users/London/Develope/go" 입니다.)
2. 환경변수 세팅
설치가 완료되었으면 터미널을 열어 "go env"를 실행시켜봅니다. 환경변수 등 다양한 목록이 나타나게 된다면 정상 설치된 상태입니다.
다른 건 보실 필요 없고 "GOPATH", "GOROOT"만 확인해주시면 됩니다.
- GOROOT는 go가 설치된 공간으로 반드시 "/usr/local/go"로 돼 있어야 합니다.
- GOPATH는 복수의 작업환경을 추가할 수 있으며, go를 통해 작업을 하게 되는 공간입니다. 초기에는 "/usr/local/go"로 지정되어 있으실 텐데, 이 부분을 수정할 것입니다. 복수의 경로를 추가하신 경우 패키지나 모듈 설치 시 따로 선언하시지 않으면 최초에 설정된 경로로 설치됩니다.
gopath를 수정하는 방법은 두 가지가 있습니다.(저는 2번째 방법을 사용합니다.)
첫째,. zshrc 나. bash_profile에 환경변수를 직접 선언하는 방법
- vim ~/. zshrc or ~/. bash_profile로 편집 화면에 들어가
export GOPATH="작업공간 경로"
해주시면 됩니다.(export GOPATH="Users/London/Develope/go")
둘째, vscode 내 언어 설정(setting.json)에 gopath를 지정해주는 방법
- Vs code 설정 후 'command + , '로 설정에 들어가 지정하는 방법
2. VS code 환경 설정
1. Go extension 설치
vscode를 실행시켜 생성해둔 작업 폴더를 열고 src에 main.go 파일을 생성합니다. 자동으로 go extension을 설치하라는 메시지가 나옵니다.
2. module 설치
extension을 설치하고 나면 우측 하단에 "Anlaysis tool misings"라고 뜨는 것을 볼 수 있는데 클릭해서 install 해주신 다음 vscode를 완전히 종료시키고 다시 실행합니다.
지속적으로 install을 요구하는 팝업창이 반복되실 텐데 더 이상 툴팁이 나오지 않을 때까지 작업을 반복하시면 됩니다.
더 이상 툴팁이 나오지 않는다면
package main
import "fmt"
function main() {
fmt.Println("Hello")
}
를 작성하고 저장한 뒤 fn+F5로 디버그를 실행합니다. 다시 한번 install을 요구하게 되고, 설치하신 다음 다시 디버그를 실행하여 제대로 Hello가 출력되면 환경설정은 끝입니다.
* 자동완성, 자동 import 등 기능이 동작하지 않는 경우
해당 경우 터미널을 열어 go get -u golang.org/x/tools/...
를 실행 한 뒤 vscode를 완전히 종료하고 재부팅해 update 해줍니다.(go pls issue)
3. 삭제
설치 중 실수가 있었거나 더 이상 go를 이용해 프로그래밍을 하지 않는 경우
- 터미널을 열어 sudo rm -rf /usr/local/go
- sudo rm -rf /etc/paths.d/go
- (zshrc, bash_profile등 환경변수 설정을 진행하신 경우 환경변수 제거