Go - 기본 문법: 초学者的 가이드
안녕하세요, 열정적인 프로그래머 되고자 하는 여러분! Go 프로그래밍의 흥미로운 여정에 여러분의 가이드로서 기쁜 마음입니다. 컴퓨터 과학을 몇 년 동안 가르쳐온 사람으로서, Go는 시작하기에 최고의 언어라고 말씀드릴 수 있습니다. 함께 Go의 기본 문법을 탐구해 보겠습니다!
Go의 토큰
토큰은 Go 프로그램의 기본 블록입니다. 이를 문장의 개별 단어로 생각해 보세요. Go에서는 여러 유형의 토큰이 있습니다:
- 키워드
- 식별자
- 리터럴
- 연산자
- 구분 기호
간단한 예제를 통해 이 토큰들을 실제로 보겠습니다:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
이 작은 프로그램에서 다양한 토큰을 식별할 수 있습니다:
- 키워드:
package
,import
,func
- 식별자:
main
,fmt
,Println
- 리터럴:
"Hello, Go!"
- 구분 기호:
(
,)
,{
,}
이제 이해가 어렵게 느껴질 수 있지만, 조금씩 설명하면서 진행해 나갈 테니 걱정 마세요!
라인 분리 기호
Go에서는 세미콜론(;
)을 라인 분리 기호로 사용합니다. 하지만 이 %= cool한 트릭이 있습니다: 세미콜론을 실제로 입력할 필요가 없습니다! Go 컴파일러는 각 라인의 끝에 자동으로 세미콜론을 삽입합니다. 이Isn't that neat?
예를 들어, 다음 두 코드 조각은 동일합니다:
fmt.Println("Hello")
fmt.Println("World")
fmt.Println("Hello");
fmt.Println("World");
첫 번째 코드가 더 깨끗하고 읽기 쉬우므로 선호됩니다. 프로그래밍에서 가독성은 매우 중요합니다!
주석
주석은 우리 자신과 다른 프로그래머에게 남길 수 있는 메모와 같습니다. 컴파일러는 주석을 무시하지만, 코드의 동작을 설명하는 데 매우 유용할 수 있습니다.
Go에서는 두 가지 유형의 주석이 있습니다:
- 단行 주석:
//
로 시작 - 다중 행 주석:
/*
와*/
사이에 감싸여짐
주석을 실제로 보겠습니다:
// 이것은 단행 주석입니다
/*
이것은 다중 행 주석입니다.
여러 줄을跨을 수 있습니다.
장문의 설명에 매우 유용합니다!
*/
func main() {
fmt.Println("Comments are fun!") // 라인 끝에 주석을 달 수도 있습니다
}
식별자
식별자는 우리의 프로그램에서 엔티티(변수, 함수, 타입 등)에 부여하는 이름입니다. Go에서 식별자는 다음 규칙을 따릅니다:
- 대문자나 밑줄로 시작해야 합니다.
- 문자, 숫자, 밑줄을 포함할 수 있습니다.
- 대소문자를 구분합니다.
다음은 유효한 식별자와 무效한 식별자입니다:
// 유효한 식별자
myVariable
_secretValue
number123
camelCase
// 무效한 식별자
123number // 숫자로 시작할 수 없습니다
my-variable // 하이픈은 허용되지 않습니다
키워드
키워드는 Go에서 특별한 의미를 가진 예약어입니다. 식별자로 사용할 수 없습니다. 다음은 모든 Go 키워드의 표입니다:
Go 키워드 | |||
---|---|---|---|
break | default | func | interface |
case | defer | go | map |
chan | else | goto | package |
const | fallthrough | if | range |
continue | for | import | return |
select | struct | switch | type |
var |
간단한 프로그램에서 이 키워드들을 사용해 보겠습니다:
package main
import "fmt"
func main() {
var age int = 25
if age >= 18 {
fmt.Println("You are an adult!")
} else {
fmt.Println("You are a minor.")
}
}
이 예제에서는 package
, import
, func
, var
, if
, else
키워드를 사용합니다.
공백
공백은 코드 내의 공간, 탭, 줄 바꿈을 의미합니다. Go에서는 공백이 일반적으로 컴파일러에 의해 무시됩니다. 단, 토큰을 구분할 때는 예외입니다.
공백을 사용하여 코드의 가독성을 높일 수 있습니다. 예를 들어, 다음 두 코드 조각은 동일합니다:
func main(){fmt.Println("No whitespace!")}
func main() {
fmt.Println("Lots of whitespace!")
}
두 번째 코드는 훨씬 더 읽기 쉬우므로, 항상 코드의 가독성을 높이려 노력하세요!
이것으로 Go의 기본 문법에 대한 소개를 마칩니다. 프로그래밍을 배우는 것은 새로운 언어를 배우는 것과 같아서, 연습과 인내가 필요합니다. 이해가 바로 이루어지지 않으면 실망하지 마세요. 계속 코딩하고, 실험하고, 가장 중요한 것은 즐기세요!
다음 강의에서는 Go의 변수와 데이터 타입에 더 깊이 다루겠습니다. 그때까지, 즐거운 코딩을!
Credits: Image by storyset