Go - 프로그램 구조: Go 프로그래밍의 세계로 첫 걸음
안녕하세요, 프로그래밍을 꿈꾸는 분들! Go 프로그래밍의 흥미로운 여정에 함께 가이드하게 되어 기쁩니다. 컴퓨터 과학을 가르치고 있는 지 오래된 저는 Go는 시작하기에 최고의 언어라고 말할 수 있습니다. 깨끗하고, 효율적이고, 강력합니다. 그麼, 함께 Go 프로그램의 구조를 탐구해 보겠습니다!
Hello World 예제: 전통적인 첫 걸음
모든 프로그래밍 여정은 "Hello, World!" 프로그램으로 시작합니다. 이 것은 어린이가 처음 말하는 말처럼 - 간단하지만 매우 중요합니다. 우리의 첫 Go 프로그램을 만들어 보겠습니다:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
이제 이 것을 조각별로 분해해 보겠습니다:
-
package main
: 이 줄은 이 파일이 'main' 패키지에 속한다고 선언합니다. Go에서 모든 프로그램은 main 패키지에서 시작합니다. -
import "fmt"
: 이 줄은 Go가 'fmt' 패키지를 사용하고 싶다고 알립니다. 'fmt' 패키지는 포맷팅과 인쇄 함수를 제공합니다. -
func main() { ... }
: 이것은 main 함수입니다. 프로그램의 진입 지점입니다. 이 괄호 안에 있는 모든 것이 프로그램을 실행할 때 실행됩니다. -
fmt.Println("Hello, World!")
: 이 줄은 "Hello, World!"를 콘솔에 인쇄합니다. fmt 패키지의 Println 함수를 사용합니다.
처음 자전거를 타는 것을 기억하시나요? 이 프로그램은 그 자전거 타는 연습轮과 같습니다 - 간단하지만 시작하는 데 도움이 됩니다!
Go 프로그램 실행: 코드를 활성화 시키기
이제 우리의 첫 프로그램을 작성했습니다. 그么, 어떻게 실행할까요? Go 프로그램을 실행하는 두 가지 주요 방법이 있습니다:
방법 1: Go Run
- 터미널이나 명령 프롬프트를 엽니다.
- Go 파일이 있는 디렉토리로 이동합니다 (hello.go라고 부를게요).
- 다음 명령어를 입력합니다:
go run hello.go
이 명령어는 프로그램을 컴파일하고 실행하는 단계를 한 번에 수행합니다. 마이크로웨이브로 준비된 음식을 조리하는 것처럼 - 빠르고 편리합니다!
방법 2: Go Build 및 실행
- 터미널에서 Go 파일의 디렉토리로 이동합니다.
- 다음을 입력합니다:
go build hello.go
이 명령어는 'hello'라는 실행 파일을 생성합니다 (Windows에서는 'hello.exe'입니다).
- 실행 파일을 실행합니다:
- Unix 기반 시스템에서:
./hello
- Windows에서:
hello.exe
이 방법은 요리를 처음부터 만드는 것처럼 - 시간이 더 걸리지만 더 많은 제어력을 갖습니다.
Go 프로그램의 기본 요소
이제 기본 프로그램을 봤으니, Go의 몇 가지 기본 개념을 탐구해 보겠습니다:
변수: 정보 저장
변수는 데이터를 저장하는 컨테이너입니다. Go에서는 다음과 같이 선언합니다:
package main
import "fmt"
func main() {
var name string = "Alice"
age := 25 // 짧은 선언
fmt.Printf("%s is %d years old\n", name, age)
}
이 예제에서 우리는 두 개의 변수를 선언합니다: 'name'과 'age'. 두 가지 다른 선언 방법을 보세요 - Go는 그런 식으로 유연합니다!
함수: 재사용 가능한 코드 블록
함수는 반복적으로 사용할 수 있는 지시서 모음입니다. 예를 들어:
package main
import "fmt"
func greet(name string) {
fmt.Printf("Hello, %s!\n", name)
}
func main() {
greet("Bob")
greet("Alice")
}
우리는 'greet' 함수를 정의했습니다. 이 함수는 이름을 입력받아 인사를 인쇄합니다. 그런 다음 main()에서 이 함수를 두 번 호출합니다.
제어 구조: 결정 내리기
제어 구조는 프로그램이 결정을 내릴 수 있게 합니다. if-else 문을 보겠습니다:
package main
import "fmt"
func checkAge(age int) {
if age >= 18 {
fmt.Println("You can vote!")
} else {
fmt.Println("Sorry, you're too young to vote.")
}
}
func main() {
checkAge(20)
checkAge(15)
}
이 프로그램은 사람이 투표할 수 있는 연령인지 확인합니다. 클럽의 경비원처럼, 민주주의의 경비원입니다!
Go의 내장 함수
Go는 사용할 수 있는 내장 함수 세트를 제공합니다. 다음은 일반적으로 사용되는 몇 가지 함수입니다:
함수 | 설명 | 예제 |
---|---|---|
len() | 문자열, 배열, 슬라이스, 맵의 길이를 반환 | len("Hello")는 5를 반환 |
make() | 슬라이스, 맵, 채널을 할당하고 초기화 | make([]int, 5)는 5개의 정수로 이루어진 슬라이스를 생성 |
append() | 슬라이스에 요소를 추가 | append(slice, 1, 2, 3)는 1, 2, 3을 슬라이스에 추가 |
panic() | 현재 goroutine의 정상 실행을 중지 | panic("Something went wrong!") |
recover() | panicking goroutine의 제어를 다시 얻음 | defer와 함께 사용하여 panics를 처리 |
기억하시라, 프로그래밍을 배우는 것은 새로운 언어를 배우는 것과 같습니다. 시간과 연습이 필요합니다. 하지만每一步을 통해 더 나아갑니다. 실험하고 실수를 두려워하지 마세요 - 우리 모두 그렇게 배웠습니다!
결론적으로, 우리는 Go 프로그래밍의 세계로 첫 걸음을 내디디었습니다. 우리는 첫 프로그램을 작성하고, 그것을 실행하고, 몇 가지 기본 개념을 탐구했습니다. 이것은 여정의 시작입니다. 계속 코딩하고, 배우고, 가장 중요한 것은 즐겁게 만들어 나가세요! Go의 세계는 넓고 흥미롭습니다. 당신이 만들어 나갈 것을 기대하고 있습니다. 즐거운 코딩을!
Credits: Image by storyset