Search

[Go 기초] [#3] Hello World! 부수기

요약
무조건 처음에 하지 않으면 제네바 협약 위반인 Hello World 출력하기
썸네일
https://noticon-static.tammolo.com/dgggcrkxq/image/upload/v1687571586/noticon/ov1wkggjcf5hqwysxgbv.gif
작성일자
2024/03/23 12:40
수정일자
2024/05/03 12:29
스택
Go
카테고리
기초
태그
기본 문법
hello world
Private : Hello World!

가장 간단한 프로그램 만들기

오늘은 프로그래밍 언어로 만들 수 있는 가장 간단한 프로그램 중 하나인 Hello World 출력 프로그램을 만들어보겠습니다.
Hello World 출력 프로그램은 개발 환경을 구성하고 해볼 수 있는 가장 간단한 형태의 진단 프로그램이라고도 할 수 있습니다. 왜냐하면 직접 코드를 작성하고 빌드하고 실행해보면 통합 개발 환경(IDE), 컴파일러, 런타임 환경이 정상인지 한번에 확인 가능하기 때문입니다.
오늘 할 내용 자체는 간단하지만 go 언어의 기초적인 사용 방법을 다루기 때문에 그냥 넘기지 말고 끝까지 함께 해주시면 감사하겠습니다.
예제에 사용된 코드들은 모두 참조란의 깃허브 링크에서도 확인하실 수 있습니다.

프로젝트 초기화

프로젝트 디렉토리 생성

프로젝트를 보관할 폴더를 임의로 하나 생성합니다.
Visual Studio Code 를 열고 상단 메뉴바의 File > Open Folder…를 사용하여 프로젝트 폴더를 엽니다. (단축키 Ctrl + K)

모듈 초기화

go 1.16 버전부터는 모듈의 사용이 필수가 됐습니다. 모듈에 대한 자세한 내용은 다음에 다루겠지만 간략하게만 소개하자면 모듈패키지의 묶음 입니다. 그리고 패키지는 Go 소스 코드의 묶음 입니다.
결국 우리는 원하는 동작을 구현하기 위해서 소스 코드를 작성하고 그걸 패키지라는 단위로 묶고 그 전체를 모듈이라는 이름으로 배포하고 관리하는 것이죠.
Visual Studio Code 상단 메뉴바에서 Terminal > New Terminal을 사용하여 터미널 창을 엽니다. (단축키 Ctrl + Shift + `)
열린 터미널 창에서 아래의 명령어를 그대로 입력하고 호출하여 HelloWorld 라는 이름의 모듈로 초기화 시킵니다.
> go mod init HelloWorld go: creating new go.mod: module HelloWorld
Bash
복사
강의에서는 짧은 모듈 이름을 사용하지만 모듈을 Go 언어 생태계에 공유하고 이용하게 만들고 싶다면 배포할 레포지토리의 URL로 정하는게 좋습니다. (ex. go mod init github.com/StarpiaForge/hello_world)
모듈 초기화가 완료되면 디렉토리에 go.mod 라는 이름의 파일이 생성됩니다. 모듈에 대한 정보를 담고 있는 중요한 파일이니깐 삭제하지말고 보관해주세요.

본격적인 프로그램 작성

소스 코드 작성

Visual Studio Code 상단 메뉴바에서 File > New File 을 사용하여 새로운 파일을 만듭니다. (단축키 Ctrl + Alt + Window + N)
우린 hello_world.go 라는 이름으로 만들어줍니다. 파일을 만들었으면 다음과 똑같이 작성해주세요.
package main import "fmt" func main() { fmt.Println("Hello, World!") }
Go
복사
제가 강의에서 작성하는 코드는 모두 참조란의 깃허브 링크에서 받아 볼 수 있습니다.

빌드

이제 우리의 첫 번째 Go 프로그램을 빌드하고 실행해봅시다.
터미널 창에서 go build 명령을 사용하여 프로그램을 빌드합니다. 성공적으로 빌드되면 실행 파일이 생성되고, 이를 통해 프로그램을 실행할 수 있습니다.
> go build hello_world.go
Bash
복사

실행

빌드 완료된 프로그램을 터미널에 실행시켜서 실행 결과를 확인해봅시다.
> .\hello_world.exe Hello, World!
Bash
복사

코드 설명

이제 아까 코드 작성때 설명하지 않았던 코드에 대한 내용을 간단하게 소개 해보겠습니다.
이 모든걸 오늘 전부 이해하실 필요는 없습니다. 이후 강의에도 다룰거니깐요. 오늘은 Go 소스 코드가 이런 형식으로 작성된다는 느낌만 파악해주세요.
// 주석은 이렇게 씁니다. /* 주석은 이렇게도 쓸 수 있습니다. 주석은 빌드될 때 모두 제거되므로 이런식으로 자유롭게 코드에 대한 설명을 적어주시면 됩니다. */ // 이 소스 코드 파일이 main 패키지라고 선언합니다. // 반드시 소스 코드의 최상단에 위치해야 하며 하나의 디렉토리엔 하나의 패키지만이 위치해야합니다. package main // fmt 라는 이름의 패키지를 현재 패키지에 포함시킵니다. // 현재는 main() 함수에 존재하는 Println 함수를 사용하기 위해서 fmt 패키지를 가져왔습니다. import "fmt" // Go는 프로그램이 실행될 때 무조건 main 패키지에 존재하는 main() 함수를 실행합니다. // // 따라서 실행될 필요가 있는 프로그램은 // 반드시 main 패키지의 main() 함수에서 시작되어야 합니다. func main() { // 표준 출력 장치로 Hello, World! 라는 문자열을 출력합니다. fmt.Println("Hello, World!") }
Go
복사

끝마치며

이제 Hello World 프로그램을 완성하였습니다. 매우 간단하지만, Go 언어를 처음 배우는 개발자에게 중요한 개념을 소개해드렸습니다. 이 프로그램을 통해 Go 언어에서의 프로그램 흐름, 패키지와 함수의 사용에 대한 내용을 간략하게나마 접해봤습니다.
다음 강의에서는 Go 언어의 기본 데이터 타입에 대해 자세히 알아보겠습니다.
감사합니다. 다음 강의에서 만나요!
강의 목록

참조