Golang 기초 (2) : 설치 및 개발 환경 설정

Eon Kim·2021년 11월 18일
1

Golang 기초 

목록 보기
2/14
post-thumbnail

안녕하세요, 주니어 개발자 Eon입니다.

이번 포스트는 Golang 개발환경 세팅입니다.

환경은 ubuntu 18.04 LTS입니다.
순서는 다음과 같이 진행하겠습니다.

  • ubuntu 18.04 LTS에 Golang 설치하기
  • Golang 환경변수 GOPATH 설정하기
  • Golang 환경변수 확인
  • Golang 개발 환경 설정하기
  • Golang Hello World!! 출력하기

Golang installation document

위의 링크에 접속하시면 환경마다의 설치 과정이 소개되어 있습니다.
저는 ubuntu 환경이므로 linux 환경의 순서로 소개하겠습니다.

현재 가장 최신 릴리즈 버전은 1.17.3입니다. (현재 2021-11-19, 최신 릴리즈 2021-11-04)
위의 링크에 Download Go for Linux 버튼을 클릭하시면 바로 다운로드가 진행됩니다.
Windows 환경에 Linux 환경의 VM을 사용하는 분이라면 해당 링크를 복사해서 wget으로 다운로드 받으시면 됩니다.

wget https://golang.org/dl/go1.17.3.linux-amd64.tar.gz

이후엔 가이드에 나온 것처럼 기존 버전이 있다면 제거를 먼저 진행하고, 다운로드 받은 gzip 압축 파일의 압축 해제를 합니다.

# rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.3.linux-amd64.tar.gz

root가 아니라면 아래와 같이 sudo를 붙여서 진행하시면 됩니다.

$ sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.17.3.linux-amd64.tar.gz


위와 같이 압축 해제된 go 디렉터리가 새로 생긴 것을 확인했습니다.

Golang 환경변수 Gopath 설정하기

설치가 완료되었으면 환경변수인 GOPATH를 설정함으로써 golang을 사용할 수 있게 해주어야 합니다.

아래의 환경변수 세팅을 ~/.profile에 추가합니다.

export PATH=$PATH:/usr/local/go/bin

추가가 완료되었으면 변경된 환경변수를 적용하기 위해 아래의 명령어를 실행합니다.
.profile은 재부팅하면 적용이 되지만 현재 쉘 환경에 바로 적용시키기 위함입니다.

source ~/.profile

Golang 환경변수 확인

환경변수 설정이 끝났으면 아래와 같이 go 명령어가 잘 실행되는지 확인합니다.

go version

아래와 같이 go 환경변수를 모두 확인할 수도 있습니다.

go env

위와 같이 모두 문제 없이 잘 설치된 것을 알 수 있습니다.

Golang 개발 환경 설정하기

VScode 상에서 개발 환경 설정은 go extension을 설치하는 것으로 모두 끝납니다.
아래의 extension을 설치하고, 우측 하단에 gopkgs, gopls 등 설치되지 않은 게 있다며 알림이 올라오는데, install All 한 번만 클릭하시면 자동으로 기본적인 tool들을 설치합니다.

Golang Hello World!! 출력하기

먼저, 아래와 같이 디렉터리 경로를 만들고 hello.go 파일을 생성합니다.

mkdir -p ~/goprojects/hello
touch ~/goprojects/hello/hello.go

이제 VScode에서 hello.go 파일을 수정하여 Hello World!!를 출력하겠습니다.

package main

import "fmt"

func main() {
	fmt.Println("Hello World!!")
}
  • package main : hello.go 파일은 main 패키지임을 알립니다.
    main 패키지는 진입점이며, main 패키지 파일 내에는 리턴이 없는 main 함수가 필요합니다.
  • import "fmt" : golang standard library 중 fmt 표준 라이브러리를 포함합니다.
  • func main() {...} : main 함수를 작성합니다. 패키지를 초기화한 후에 가장 먼저 실행되는 함수입니다.
  • fmt.Println("Hello World!!") : fmt는 formatted I/O으로, C언어의 stdio와 같은 표준 입출력 라이브러리입니다. Println각각의 피연산자 사이에 공백을 추가하고, 가장 마지막에 줄바꿈을 포함합니다. fmt.Print는 공백을 추가하지 않으며, 줄바꿈도 하지 않습니다.

이제 위의 코드를 실행하겠습니다.
실행하는 방법은 두 가지를 소개하겠습니다.

go run hello.go
go build hello.go && ./hello
  • go run hello.go : main 패키지 파일을 컴파일 후에 바이너리 파일을 남기지 않고 메모리 위에서 바로 실행합니다.
  • go build hello.go : main 패키지 파일을 import 시킨 모든 라이브러리, 연결된 패키지와 함께 컴파일하며 바이너리 파일을 생성합니다.
  • ./hello : 빌드된 hello 바이너리 파일을 실행합니다.


위와 같이 Hello World!!가 출력되면 완료입니다.


이상으로 Golang 개발 환경 설정 포스팅을 마치겠습니다.
감사합니다.👍

profile
주니어 개발자

0개의 댓글