package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
1. 코드 분석
package main
■ package main
■ Go 프로그램은 패키지 단위로 관리됨.
■ main패키지는 GO 실행 파일(프로그램)에서 필수적으로 포함되어야 하는 패키지이다.
■ 즉, package main을 선언해야 실행 가능한 프로그램(즉, 바이너리)을 만들 수 있다.
import "fmt"
■ import "fmt"
■ Go에서 import 키워드는 외부 패키지를 가져올 때 사용된다.
■ "fmt"는 formatting의 약자로, 표준 라이브러리에서 제공하는 입출력 기능을 담당하는 패키지이다.
■ fmt.Println() 같은 함수를 사용하여 콘솔에 출력을 할 수 있음.
func main() {
■ func main()
■ 모든 실행 가능한 Go 프로그램은 main() 함수를 가져야 한다.
■ main() 함수는 프로그램이 실행될 때 가장 먼저 호출되는 함수임.
fmt.Println("Hello World")
■ fmt.Println("Hello World")
■ fmt.Println() 함수는 괄호 안에 있는 문자열을 콘솔에 출력하는 역할을 한다.
■ "Hello World"는 우리가 출력하고자 하는 문자열
■ Println() 은 Print Line의 줄임말로, 출력 후 자동으로 줄바꿈(\n)을 한다.
}
■ }
■ main() 함수의 끝을 나타냄.
2. 터미널에서 실행 과정
① cd hello (디렉터리 이동)
cd hello 명령어는 현재 디렉터리를 hello 폴더로 이동하는 명령어.
■ 만약 hello.go 파일이 hello 라는 폴더 안에 있다면, 해당 폴더로 이동해야 함.
■ 만약 hello.go 파일이 현재 디렉터리에 존재한다면, cd hello는 필요하지 않음.
② go run hello.go (프로그램 실행)
Go 프로그램을 실행하기 위해 go run hello.go 명령어를 입력함.
■ go run :
■ Go 프로그램을 실행하는 명령어.
■ Go 파일을 컴파일하고, 실행하는 과정을 한 번에 처리함.
■ hello.go :
■ 실행할 Go 소스 코드 파일의 이름임.
실행 과정
1. go run hello.go 를 입력하면 Go 컴파일러가 hello.go 파일을 컴파일 없이 즉시 실행함.
2. main() 함수가 실행되면서 fmt.Println("Hello World") 코드가 실행됨.
3. Hello World 라는 문자열이 터미널에 출력됨
3. 프로그램 실행 흐름 정리
■ package main 을 사용하여 실행 가능한 프로그램임을 선언.
■ import "fmt" 를 사용하여 출력 기능을 제공하는 표준 라이브러리를 포함.
■ main() 함수를 정의하고, fmt.Println("Hello World") 로 콘솔 출력.
■ go run hello.go 를 실행하면 프로그램이 실행되면서 "Hello World" 가 출력됨.
4. 추가적인 개념
① go build 와 go run 의 차이
■ go run hello.go
■ 컴파일과 실행을 한 번에 처리하는 명령어.
■ 실행 후에는 실행 파일이 생성되지 않고, 메모리에서 바로 실행됨.
■ go build hello.go
■ 소스 코드를 컴파일하여 실행 가능한 바이너리 파일을 생성함.
■ 실행 파일(hello 또는 hello.exe)이 만들어지며, 해당 파일을 직접 실행할 수 있음.
■ 실행하려면 :
./hello # (Mac / Linux)
hello.exe # (Windows)
② Go 프로그램 실행 흐름
1. Go 컴파일러는 hello.go 파일을 읽고 패키지 및 함수를 분석함.
2. main() 함수가 포함된 실행 파일로 변환(컴파일)됨.
3. fmt.Println("Hello World") 가 실행되면서 출력이 발생함.
결론
Go 언어에서 "Hello World" 프로그램을 작성하고 실행하는 과정
1. hello.go 파일을 작성
2. cd hello 로 해당 폴더 이동 (파일 위치에 따라 생략 가능)
3. go run hello.go 를 입력하여 실행
4. "Hello World" 출력 확인
'개발 기초 공부' 카테고리의 다른 글
IT 공부 과정 - 계획 세우기 (0) | 2025.03.08 |
---|---|
기초에서 반드시 알아야 할 것들 (0) | 2024.11.25 |