Go; Hello World
What is Go?
- 2007년 구글에서 개발을 시작해 20212년 Go ver1.0 완성
- Go 공식 페이지: https://go.dev/
언어의 특징
- 컴파일, 링크 모델을 따르는 범용 프로그래밍 언어
- 컴파일 언어
- Compiler: 고급 언어로 작성된 소스 코드를 저급 언어로 번역하는 프로그램
- 고급 언어: 사람이 이해하기 쉽도록 작성된 프로그래밍 언어(e.g. C, C++, JAVA …)
- 저급 언어: 컴퓨터 내부에서 바로 처리 가능한 프로그래밍 언어(e.g. 기계어, 어셈블리어 …)
- 컴파일러를 통해 컴파일 타임에 전체 소스 코드를 한 번에 기계어로 변환 후 실행파일 생성
- 컴파일 단계와 실행 단계가 각각 분리되어 있음
- 컴파일은 단 한 번만 수행
- 실행: 실행 파일을 실행
- 컴파일 과정을 거치지 않으므로 코드 실행 속도가 빠름
- 프로젝트 규모가 클 경우 컴파일 시간이 오래 걸릴 수 있음
- Compiler: 고급 언어로 작성된 소스 코드를 저급 언어로 번역하는 프로그램
- vs. 인터프리터 언어
- Interpreter: 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램
- 소스 코드를 한 줄씩 읽어들여 실행
- 컴파일 하는 과정이 없음 → 컴파일 하는 시간 X
- 실행 파일 별도 생성 X → 실행시마다 인터프리트 과정 반복 수행 ⇒ 실행 속도가 느림
- e.g. Python, Javascript, Ruby …
- 컴파일 언어
- 시스템 프로그래밍을 위해 개발
- C++, Java, Python의 장점을 뽑아 만들어짐
- C++: 컴파일러를 통해 컴파일, Statically Typed(정적 타입)의 언어
- Java: Garbage Collection 기능 제공, 25개 키워드만으로 프로그래밍 가능
- CSP(Communicating Sequential Processes) 스타일의 Concurrent 프로그래밍 지원
How to install Go?
OS: Window 10
-
https://go.dev/dl/ 링크에 접속하여 msi 파일을 설치
- stable versions(go1.20.6) 설치
- C:\go 폴더에 설치됨
- C:\go\bin PATH 추가
Hello World 출력
helloworld/main.go
파일 생성-
다음과 같이 코드 작성
package main import "fmt" func main() { fmt.Println("hello world") }
- 터미널에서 다음과 같이 run 명령어 실행
run
명령어 사용시 컴파일과 동시에 실행 → .exe 파일 생성 Xbuild
명령어 사용시 실행 파일 생성 → .exe 파일 생성 O