Intro

Go를 시작한 계기

  • 회사에서 프로젝트를 들어갔는데, 폐쇄망 환경이다. 인터넷이 안된다.
  • 인터넷이 안되는 환경에서 내부 업무 효율 향상을 위해 메신저 Mattermost를 도입했다.
  • Mattermost에 추가기능을 구현하고자 했고, 특히 LLM API를 호출해 사용하는 기능을 구현하려 한다.
  • Mattermost 의 Plugin 기능을 통해 추가기능을 개발할 수 있는데, Serverside 는 개발 언어가 Go이다.

Go 개발환경 구성하기

1. Go Lang 설치

The Go Programming Language

  • Go 를 설치하는 가장 쉬운 방법은, go.dev 에서 설치파일을 다운로드 받아 설치하는 것이다.

(1) Windows 에서의 설치

  • go.dev 에서 go 설치파일(~.msi) 를 다운로드 받아 설치한다.

(2) Mac 에서의 설치

  • Mac 또한 go.dev 에서 go 설치파일(~.pkg) 를 다운로드 받아 설치할 수 있다.
  • 추가로, MAC에서는 Homebrew를 통해서도 설치할 수 있다.
1
brew install go

(3) Linux 에서의 설치

  • Linux에서는 자동화 설치 파일은 없고, 설치 파일을 다운로드 받아 압축을 푼 뒤, 환경변수에 추가해주면 된다.
  • 먼저 패키지를 다운로드 해준다.
1
wget https://go.dev/dl/go1.26.1.linux-amd64.tar.gz
  • 이어서 압축을 풀어준다.
1
sudo tar -C /usr/local -xzf go1.26.1.linux-amd64.tar.gz
  • 환경변수에 추가해준 뒤, 변경사항을 적용한다.
1
2
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc  # 또는 source ~/.zshrc

(4) 설치 완료 확인

  • 설치가 완료되면 터미널에서 아래 명령어를 통해 설치가 잘 되었는지 확인하면 된다.
1
go version
1
go version go1.26.1 darwin/arm64

2. IDE 설정

(1) 어떤 IDE가 좋을까?

  • Go Lang 을 다룰 때 사용하기 좋은 IDE는 두 가지
  • (1) VS Code : 무료. 확장성도 좋음
  • (2) Go Land : 유료. Go 전용인 듯

(2) VS Code 에서 개발환경 구성하기

  • VS Code 에서 GoLang을 통한 개발을 하기 위해서는 Extension 설치가 필요

  • VS Code Extension 에서 go를 검색한 뒤, Go 확장기능을 설치해준다.
  • Settings.json 에 아래 설정을 추가해두면 더욱 편한 개발이 가능하다.
1
2
3
4
5
6
7
8
9
10
    "go.formatTool": "gofumpt",
    "go.lintTool": "staticcheck",
    "[go]": {
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": "explicit"
        }
    }
  // 출처 : https://wikidocs.net/320888
  // 자동 코드 포매팅, import 정리

Reference

02. Go 설치

03. IDE 설정

Comments