What is Go?

  • 2007년 구글에서 개발을 시작해 20212년 Go ver1.0 완성
  • Go 공식 페이지: https://go.dev/

언어의 특징

  • 컴파일, 링크 모델을 따르는 범용 프로그래밍 언어
    • 컴파일 언어
      • Compiler: 고급 언어로 작성된 소스 코드를 저급 언어로 번역하는 프로그램
        • 고급 언어: 사람이 이해하기 쉽도록 작성된 프로그래밍 언어(e.g. C, C++, JAVA …)
        • 저급 언어: 컴퓨터 내부에서 바로 처리 가능한 프로그래밍 언어(e.g. 기계어, 어셈블리어 …)
      • 컴파일러를 통해 컴파일 타임에 전체 소스 코드를 한 번에 기계어로 변환 후 실행파일 생성
      • 컴파일 단계와 실행 단계가 각각 분리되어 있음
        • 컴파일은 단 한 번만 수행
        • 실행: 실행 파일을 실행
          • 컴파일 과정을 거치지 않으므로 코드 실행 속도가 빠름
      • 프로젝트 규모가 클 경우 컴파일 시간이 오래 걸릴 수 있음
    • 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

  1. https://go.dev/dl/ 링크에 접속하여 msi 파일을 설치

    downloadfile

    • stable versions(go1.20.6) 설치
  2. C:\go 폴더에 설치됨
  3. C:\go\bin PATH 추가

Hello World 출력

  1. helloworld/main.go 파일 생성
  2. 다음과 같이 코드 작성

    package main
    
    import "fmt"
    
    func main() {
    	fmt.Println("hello world")
    }
    
  3. 터미널에서 다음과 같이 run 명령어 실행
    • run 명령어 사용시 컴파일과 동시에 실행 → .exe 파일 생성 X runimg
    • build 명령어 사용시 실행 파일 생성 → .exe 파일 생성 O