GO언어(golang)로 간단한 프로그램 컴파일 및 설치하기

Go 언어는 간결하고 효율적인 문법으로 빠르게 개발할 수 있는 프로그래밍 언어이다. 그리고 간단히 명령어 하나로 프로그램을 설치할 수 있어 배포와 설치 과정이 매우 간단하다. go document에도 잘 나와 있으니 참고하면 된다.

go build

이미 개발해놓은 프로젝트 폴더에 들어가서, 컴파일을 수행하는 go build 명령어를 수행한다.

$ go build

go 매뉴얼중 하나의 예시 프로젝트였던, hello 실행파일이 생성되었다.

$ ls -al
total 2.2M
drwxr-xr-x 5 root root  160 Aug 29 23:20 ./
drwxr-xr-x 4 root root  128 Aug 28 22:29 ../
-rw-r--r-- 1 root root  149 Aug 28 22:46 go.mod
-rwxr-xr-x 1 root root 2.2M Aug 29 23:20 hello*
-rw-r--r-- 1 root root  332 Aug 29 22:31 hello.go

프로그램을 실행하려면, 아직 전역함수로 지정되지 않았기 때문에 ./ 를 붙여 실행해야 한다.

$ ./hello
map[Darrin:Great to see you, Darrin! Gladys:Hi, Gladys. Welcome! Samantha:Great to see you, Samantha!]

go install

go 모듈이 설치되는 경로를 우선 먼저 알아야 한다.

$ go list -f '{{.Target}}'
/go/bin/hello

환경변수 경로에 넣어주기 위함인데, 이미 추가되어 있는지 확인을 먼저한다. 사실 go언어 설치때 이미 셋팅되었던거 같다.

$ echo $PATH
/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

나는 이미 추가가 되있어서 할 필요는 없지만, 만약 설정이 없다면 아래 명령어로 뒤에다가 추가해주면 된다.

$ export PATH=$PATH:/go/bin

드디어 설치한다.

$ go install

go 프로그램 설치 bin 폴더에 가서 보면 hello 실행바이너리 파일이 들어가 있는걸 확인할 수 있다.

$ cd /go/bin

$ ls -al
total 2.2M
drwxrwxrwt 1 root root 4.0K Aug 29 23:24 ./
drwxrwxrwt 1 root root 4.0K Aug 14 01:03 ../
-rwxr-xr-x 1 root root 2.2M Aug 29 23:24 hello*

이제 어느 경로에서도 실행할 수 있는 명령어가 되었다.

$ hello
map[Darrin:Hail, Darrin! Well met! Gladys:Hi, Gladys. Welcome! Samantha:Great to see you, Samantha!]
go