2009년에 google에서 공개한 오픈소스 프로그래밍 언어로 전설적인 엔지니어 3명( Rob Pike, Robert Griesemer, Ken Thompson)이 만들기 시작했으며 google내부에서 c++로 개발할 때 겪던 어려움을 해결하기 위해 만들어졌다.
즉, 처음부터 실무의 고통에서 출발한 언어다.

1.Go언어에 대해 알아보자
go언어가 가장 유명한이유로 동시성(Concurrency)이 언어에 내장되어 있다는 점 이제 배우기 시작해서 깊게 알지는 못하지만
고루틴( 매우 가벼운 동시 실행 함수)를 사용하며 GC가 있어 메모리 자동관리가 된다고 한다.
클래스, 상속이 없는 게 특이한 것 같다. 구조체(struct), 인터페이스(interface) 사용하여 개발한다고 한다.
컨테이너/클라우드 쪽 인프라가 go로 많이 돌아간다고 하며 도커도 go언어로 개발되었다 함.
2.Go언어 windows에 설치

해당 사이트에 접속해서 운영체제 맞게 다운로드해 주고 아래 명령어로 버전확인(설치 은근 금방 됨)
go version

vscode extension에서 해당 익스텐션 설치
3.go언어 실행 방법
go언어는 패키지(폴더) 기반의 실행구조를 가지며 파이썬과 같은 인터프리티 기반의 스크립트언어랑은 정반대이다
c, java와 같은 컴파일 기반의 형태로 명확한 시작점(main 함수)을 기준으로 실행되는 방식이다.
go mod init github.com/아이디/프로젝트명
go mod init 하고 뒤에 모듈명을 적게 되는데 보통 깃허브에 올릴 때 경로를 맞추려고 위에 처럼 작성한다.
그리고 다른 파일에서 import 할 때 go.mod에 적힌 모듈 이름을 기준으로 import 하게 된다.

func main()이 시작점이 되고 패키지 이름은 파일마다 따로가 아니라 폴더 단위로 동일해야 한다.
아래 명령어를 실행하면 같은 패키지에 속한 모든 .go 파일을 컴파일 후 실행하게 됨(폴더 안에 go파일을 실행하는 명령어)
go run .
4.build 하는 방법
프로젝트 안에 go언어를 작성하고 난 뒤에 해당 프로젝트 경로에서 아래와 같이 입력하면 된다.
현재 폴더(프로젝트) 명으로 exe파일이 만들기:
go build
exe파일명을 직접 지정 (app.exe로 이름 지정):
go build -o app.exe