본문 바로가기

GO

1) GO 설치하기

반응형

먼저 간단히 GO는 2009년도에 구글에서 개발한 언어이다.

 

특징은 간결하다 . 가볍다 . 스레드보다 가벼운 Go루틴이라는 동시성 제어기능을 제공한다. 

자체 GC기능을 제공한다.  Docker를 GO로 개발했다. 등이 있는것 같다.

 

여러내용을 읽어 본 결과 GO의 가장 큰 장점은 간결한 소스코드와 뛰어난 성능이라고 느껴졌다.

 

예를 들어 자바로 REST API를 만들면 유휴 상태일떄 기본적인 메모리를 사용하고있는 반면 

GO는 거의 메모리를 사용하지 않고 있고 . 

 

실제 초당 요청 처리수도 자바에 비해 적은 리소스를 사용하고 더 많은 요청에 대해 처리가 가능한 데이터들이 많이 있었다.

 

그래서 기존 java 로 만들어진 REST API들을 GO로 바꿔 보고자 GO에 대해 공부하기로 한다.

 

아래 사이트에 접속해서 GO를 설치 한다.

https://golang.org/

 

The Go Programming Language

Download Go Binary distributions available for Linux, macOS, Windows, and more. // You can edit this code! // Click here and start typing. package main import "fmt" func main() { fmt.Println("Hello, 世界") } Hello, World! Conway's Game of Life Fibonacci

golang.org

설치가 완료되고 아래와 같이 go env 명령어를 실행해 보면 정상적으로 설치가 된것을 확인 할 수 있다.

 

여기까지 java 로 생각하면 SDK까 설치가 완료된것이다. java 같은 경우는 이렇게 하고 이클립스로 간단히 Hellow world

java 파일을 만들고 실행시켜면 해당 파일이 어디에 있든 다 실행이 가능한데. 

 

GO 는 그렇지 않았다. GOPATH를 설정해주고 해당 GOPATH에 GO에기본적 package 같은것들이 이 GOPATH에 받아놓는 작업이 필요하는것을 알게 됐다. 굉장히 어색하고 이상하게 느껴져서 이렇게 하지 않으려면 어떻게 해야 하는지 보니 GO module이라는것이 있었다. 간단히 gradle이나 maven과 같은 package 관리를 해주는것이라 생각된다.

 

go module에 관해서는 나중에 다시 업로드 하도록 한다. 

 

이제 앞서 말한 GOPATH를 환경변수에 설정해준다. 

1)Window

2) 리눅스

$ export GOPATH=$PATH:~/projects/go

이렇게 환경변수를 세팅하고 해당 폴더에서  bin , pkg, src 폴더를 생성한다. 

 

아래와 같이 src 폴더 아래에 만들고 싶은 go module에 폴더를 생성하고 아래에 main.go (자바로 생각하면 main 함수가 있는 class) 를 생성하면된다.

 

 

 

main.go 에 내용과 실행 결과 이다.

package main

import "fmt"

func main(){
	fmt.Println("main test 입니다.")
}

 

실행결과 

 

 

위 소스에서 package main 부분의 다른 이름 예를 들어 package maintest 라고 하고 go run 을 하면 

아래과 같은 에러가 생긴다.

 

이처럼 main.go의 package 이름음 main이여야 한다는것을 알 수 있다.

 

간단히 개발을 위한 go의 설치와 개발 환경 세팅까지 알아 봤다. 

 

다음은 rest api를 위해 필요한 package와 소스코드를 작성해 보고자 한다.

'GO' 카테고리의 다른 글

5) AWS ECR에 docker images Push하기  (0) 2021.03.05
4) Go Dockerfile 만들기 ( go mod )  (0) 2021.02.20
3) GO Module 이란? GO Module 테스트  (0) 2021.02.17
2) GO RESTAPI 만들기.  (0) 2021.02.02