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 | |
제네릭 프로그래밍 | O | 1.18 버전부터 지원 |
네임스페이스 | X | 모든 코드는 패키지 단위로 분리 |
1.2 코드가 실행되기까지
- 폴더 생성
- Go 언어에서의 모든 코드는 패키지 단위로 작성된다.
- 같은 폴더에 위치한 .go 파일은 모두 같은 패키지에 포함되어야 한다.
- 폴더명과 패키지명이 다르더라도 컴파일러가 문제 삼지는 않지만 일반적으로 동일하게 맞춘다.
- .go 파일 생성 및 작성
- Go 모듈 생성
- 모든 Go 코드는 빌드하기 전에 모듈을 생성해야 한다.
1
go mod init goproject/hello
- go.mod 파일에는 모듈명, Go 버전, 필요한 패키지 목록 정보가 담겨 있다.
- 모든 Go 코드는 빌드하기 전에 모듈을 생성해야 한다.
- 빌드
- 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")
}
- package main
- Go 언어의 모든 코드는 패키지 선언으로 시작한다.
- main 패키지는 프로그램 시작점을 포함하는 특별한 패키지
- import “fmt”
- import를 통해 특정 패키지를 불러온다
- func main() {
- main() 함수는 프로그램 진입점 함수로, 프로그램은 항상 main() 함수에서 시작해서 main() 함수에서 종료된다
This post is licensed under CC BY 4.0 by the author.