ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • GO 언어 시작하기
    IT 생활/Go 프로그래밍 2020. 4. 1. 00:45

    안녕하세요 류똥구입니다.

    최근에는 제 맥미니를 가지고 홈서버를 구축하는 과정을 포스팅 해왔었는데, 갑자기 GO?라니 무언가 싶으신가요?

    홈서버로 개인 사이트를 하나 운영해보려고 합니다. 상용 프로그램들이 많이 있지만 명색이 IT개발자인데 취미 겸 공부로 직접 만들어 보려고 합니다. 제가 웹쪽에 익숙하지 않기도 하고 요즘에는 IT 환경이 빠르게 변하기도 해서 프로그래밍 언어들도 많이 생기고 서비스 환경도 많이 바뀌다 보니 공부도 해 볼 생각입니다.

     

    당분간은 GO 언어에 대한 기본적인 학습을 한 뒤, 웹 프로그래밍을 하여 제 맥미니에 도커로 웹서버를 구동할 예정입니다. 여담이지만, 저는 GO의 마스코트인 Go gopher가 귀여워서 선택했습니다 (데헷). 초짜의 기준으로 시작하니 GO 언어에 관심이 있으신 분들에 도움이 될 수 있게 포스팅을 잘 해보도록 하겠습니다.

     

     

    GO의 공식 사이트의 문서를 기준으로 진행하도록 하겠습니다.

    공식 문서를 따라서 GO언어를 시작해보도록 하겠습니다.


    GO 언어

    시작하기 앞서서 GO언어에 대해서 간단히 알아보도록 하겠습니다. 오픈소스가 IT업계의 문화로 자리잡다보니 GO도 오프소스로 제공하고 있으며 공식사이트를 통해서도 다양한 정보를 제공하고 있습니다. GO 공식 사이트접속하면 GO 언어에 대한 설명이 있습니다.

     

    GO 언어 공식 홈페이지

    사이트에서 설명하고 있는 내용을 번역해 보면 GO언어는 상용으로 쓸만한 소프트웨어 제작에 안성맞춤이라는 말입니다.

    "GO는 오픈소스 프로그래밍 언어로 심플하고 신뢰할만한 효율적인 소프트웨어를 작성하기 쉽게 해줍니다."

     

    "Documents"를 선택하여 공식 문서를 보면 GO에 대한 설명이 조금 더 자세하게 되어 있습니다.

    GO 언어 공식 문서 페이지

    "GO 프로그래밍 언어는 오픈소스 프로젝트로 프로그래머들의 생산력을 향상시키기는 것을 목표로 한다.
    표현력이 좋고 정확하고 간략하면서도 효율적인 언어이다.
    동시성을 제공하여 멀티코어와 네트워크로 연결된 머신을 위한 프로그램을 만들기 유용하다. 그러면서도 타입 시스템은 유연하고 모듈식의 프로그램 구조를 제공한다. 
    GO는 컴파일 속도가 빠르고 가비지콜렉션과 런타임 리플렉션을 제공한다.
    GO는 빠르고, 정적타입의 컴파일 언어지만 동적 타입의 인터프리터 언어와 같이 느껴질 것이다."

    영어도 부족하고 한글도 부족하니 번역하는게 참으로 힘드네요. 결론적으로 GO는 간결하지만 강력한 기능들을 제공하고 있어서 양질의 소프트웨어를 만들기에 좋다는 말을 하고 있습니다.


    GO 시작하기

    여기서는 GO 공식 사이트의 Getting Started 페이지를 기준으로 설명하도록 하겠습니다.

     

    GO distribution

    GO 동작 가능 OS 종류

    GO는 FreeBSD (release 10-STABLE and above), Linux, macOS (10.10 and above), Windows에서 사용이 가능합니다.

    즉, 왠만한 OS에서는 GO를 사용할 수 있습니다. 혹시라도 사용하는 OS가 위에 4가지가 아닌 경우를 대비해서 GO에서는 Source 코드로 설치하는 방법을 (installing from source, installing gccgo instead of gc) 제공하고 있습니다.

     

    저는 리눅스를 사용하고 있으므로 리눅스를 기준으로 설명하도록 하겠습니다. 

     

    GO 다운로드 페이지에서 GO 설치 파일을 OS 종류에 맞춰서 다운로드 합니다.

    GO 다운로드 페이지

     

    GO 설치

    GO을 이미 설치 한 상태에서 버전을 올리기 위해서 이전 버전을 삭제한 뒤에 설치 해야합니다. 본 글에서는 GO를 처음 사용하는 사용자를 대상으로 하므로 GO가 이미 설치되어 있지 않은 상태를 가정하고 진행하겠습니다.

     

    앞서서 다운로드 받은 GO 설치 파일을 다음 명령으로 압축 해제해 줍니다.

    $ sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

    /usr/local/에 가면 방금 압축을 푼 go 디렉토리가 위치하게 됩니다. 그럼 GO를 시스템에서 바로 사용하기 위해서 PATH에 추가해줍니다.  다음 내용을 /etc/profile이나 $HOME/.profile에 추가합니다. 저는 /etc/profile에 추가하였습니다.

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

    /etc/profile에 추가한 내용은 바로 반영되도록 다음 명령을 수행합니다.

    $ source /etc/profile

     

     

    GO 설치 확인

    문서 편집기 아무거나 사용하여 GO 프로그램을 작성하여 실행시켜 봅시다. 파일이름을 hello.go로 하여 다음 내용을 추가합니다.

    package main
    
    import "fmt"
    
    func main() {
    	fmt.Printf("hello, world\n")
     } 

    터미널에서 작성한 GO 프로그램을 다음 명령으로 컴파일 해줍니다.

    $ go build hello.go

    GO가 정상적으로 설치 되어 사용할 수 있으면 컴파일 한 뒤 hello라는 이름으로 실행파일이 생성됩니다. 실행하여 정상적으로 동작하는지 확인해 봅시다.

    $ ./hello
    hello, world

    처음으로 작성한 GO 프로그램이 잘 동작하네요.

     

     

     

    마치며

    구글에서 지원하는 GO언어에 대해서 간략하게 설명하고 설치하여 첫 GO 프로그램도 작성하여 보았습니다. 이제 GO를 사용할 준비는 모두 끝이 났습니다. 그럼 다음 포스팅에서는 Go 코드 작성 방법에 대해서 설명하도록 하겠습니다.

    댓글

Designed by Tistory.