Post

01. Hello Go World

01. Hello Go World

✅ 1. Go

  • 2009년에 발표된 오픈 소스 프로그래밍 언어로 25.08.04 기준 1.24.5 버전까지 공개되었다.

1.1 Go 언어 특징

개념있다/없다설명
클래스X메소드를 가지는 구조체 지원
상속X 
메소드O구조체가 메소드를 가질 수 있다
인터페이스O 
익명 함수O함수 리터럴이라는 이름으로 제공
가비지 컬렉터O고성능 가비지 컬렉터 제공
포인터O 
제네릭 프로그래밍O1.18 버전부터 지원
네임스페이스X모든 코드는 패키지 단위로 분리

1.2 코드가 실행되기까지

  1. 폴더 생성
    • Go 언어에서의 모든 코드는 패키지 단위로 작성된다.
    • 같은 폴더에 위치한 .go 파일은 모두 같은 패키지에 포함되어야 한다.
    • 폴더명과 패키지명이 다르더라도 컴파일러가 문제 삼지는 않지만 일반적으로 동일하게 맞춘다.
  2. .go 파일 생성 및 작성
  3. Go 모듈 생성
    • 모든 Go 코드는 빌드하기 전에 모듈을 생성해야 한다.
      1
      
        go mod init goproject/hello
      
    • go.mod 파일에는 모듈명, Go 버전, 필요한 패키지 목록 정보가 담겨 있다.
  4. 빌드
    • go build 명령으로 Go 코드를 기계어로 변환하여 실행 파일을 만든다.
    • GOOS, GOARCH 환경변수 조정 가능
      1
      
        GOOS=linux GOARCH=amd64 go build
      
    • 가능한 운영체제, 아키텍쳐 목록 출력
      1
      
        go tool dist list
      

✅ 2. Hello Go World 코드 뜯어보기

1
2
3
4
5
6
7
8
9
package main

import "fmt"

func main() {
	// Hello Go World 출력
	fmt.Println("Hello Go World")
}

  1. package main
    • Go 언어의 모든 코드는 패키지 선언으로 시작한다.
    • main 패키지는 프로그램 시작점을 포함하는 특별한 패키지
  2. import “fmt”
    • import를 통해 특정 패키지를 불러온다
  3. func main() {
    • main() 함수는 프로그램 진입점 함수로, 프로그램은 항상 main() 함수에서 시작해서 main() 함수에서 종료된다
This post is licensed under CC BY 4.0 by the author.