Programming Language/go

Go 언어 프로그래밍 - 개요 및 환경설정(윈도우즈편)

김크리 2021. 7. 3. 15:54

 


Go 언어 공부를 하기 위해 개발자,저자, 유투버인 Tucker 님의 유투브를 보며 그대로 진행한 학습내용입니다.


Go 를 배워야 하는 이유

높은 생산성

 1. C언어와파이썬의 장점을 취해 문법 자체가 단순하고 깔끔하다

 2. 코딩을 돕는 편리한 도구가 기본으로 제공된다.

 3. 쉽게 테스트 코드를 작성하고 코드 문서화 까지 할 수 있다.

 4. 함수 리터럴 및 클로저를 자유자재로 사용할 수 있다.

 5. 덕 타이핑을 지원해 인터페이스만 가지고 메서드를 호출할 수 잇어 요구사항 변경에 유연하게 대처할 수 있다.

 6. 상속을 지원하지 않아 강력한 상호 의존 관계 생성과 다이아몬드 상속 문제 등을 예방한다.

 7. 고 루틴을 제공해 동시성 프로그래밍이 쉽고 그 별과는 강력하다.

 8. 가비지 컬렉션 지원으로 메모리 관리 부담을 덜 수 있다.

 9. 강력한 타입 검사와 타입과 상관 없이 일관된 규칙 적용으로 버그를 최소화한다.

범용성 인정

Kubernetes, Docker, Lime Text editor, Dropbox 리뉴얼 등 다양한 곳에서 이미 활용

 

환경설정(Windows)

1. Go SDK 다운로드

https://golang.org/

 

Go 다운로드 후, 정상적으로 동작하는지 확인을 한다.

Ctrl + R 혹은 CMD검색을 통해 CMD창을 띄우고 go 명령어를 사용해본다.

 

go version //go 버전 확인

그림과 같이 버전이 출력되면 정상적으로 go sdk 가 설치되었다.

 

 

2. 형상관리 툴 다운로드 및 설정

강좌에서는 GIT 을 사용하였다.

https://git-scm.com/downloads 

형상관리 툴에 대해서는 추후 자세히 공부할 예정이기 때문에 생략한다.

 

3. IDE 다운로드

강좌에서는 Visual Studio Code를 사용하였다. (무료)

https://code.visualstudio.com

비쥬얼 코드 다운로드 후, 실행파일을 켜서 정상동작을 확인한다.

go 를 실행할 수 있도록 extension을 추가한다.

 

Visual code studio는 소스코드 편집기 이지만, 많은 플러그인들을 통해 개발에 도움을 줄 수 있다.

좌측에 네모 4개의 아이콘을 클릭하면 extensions을 검색하고 다운로드 받을 수 있다.

 

Go 를 검색하여 설치를 진행한다.

 

도구바에서 [File] - [Open Folder] 를 클릭하여 원하는 위치에서 확인을 누른다. (해당 위치에서 소스편집기가 열린다.)

단축키 [ctrl] - [shift] - [`] 혹은 상단 도구바의 [Terminal] - [New Terminal]을 클릭하면 명령어 창이 열린다.

 

4. Go 로 Hello World 출력하기

hello.go

//set code package.
//it means program start-point in package "main"
package main

//load go pakage(have functions)
import "fmt"

func main() {
	//print a string to the screen
	//go run hello.go => run the go script
	//go build => buiild the go project. but you must have go module
	//go mod init {modulename} => make go module
	fmt.Println("Hello world!")
}

go run {hello.go} 를 터미널에서 실행하면 go script 를 바로 실행한다.

go mod init {module Name} 를 터미널에서 실행하면 go module 파일을 초기화 한다는 뜻이다. 주로  모듈명은 파일의 경로로 진행된다.

go build go script 를 바로 실행할 수 있는 실행파일(.exe)을 생성한다.

(go 1.16v 부터 go module이 필수적이다. 빌드 실행 전에 go mod init으로 go module을 생성하자)

 

 

참고

Tucker의 Go언어 프로그래밍 - Go가 온당

https://www.youtube.com/watch?v=g4PyJ10CSr0&list=PLy-g2fnSzUTBHwuXkWQ834QHDZwLx6v6j