CS 공부/Go 언어

Go 언어의 문법과 스타일 도구: 기본 규칙과 gofmt 활용법

0gineer 2025. 1. 5. 14:19

Go 언어는 간결하면서도 규칙적인 문법을 가지고 있다. 특히 가독성을 높이고 일관성을 유지하기 위해 몇 가지 고유한 규칙과 도구를 제공한다. 이번 글에서는 Go 언어의 문법과 코드 스타일 도구인 gofmt를 정리한다.


1. Go 문법의 기본 규칙

1.1 중괄호 {} 사용 규칙

Go에서는 함수, 조건문, 반복문 등을 작성할 때 중괄호를 반드시 같은 줄에서 시작해야 한다.

  • 올바른 예:
func main() {
    fmt.Println("Hello, world!")
}
  • 잘못된 예:
func main() 
{ // 에러 발생
    fmt.Println("Hello, world!")
}

Go 컴파일러는 줄 마지막에 자동으로 ;를 추가한다. 그래서 중괄호가 다른 줄에 있으면 에러가 발생한다.


1.2 들여쓰기와 세미콜론

Go의 들여쓰기는 탭(Tab) 을 사용한다. 공백(Space) 대신 탭을 사용하는 것이 Go의 표준이다. 세미콜론(;)은 보통 생략하며, 한 줄에 여러 구문을 작성할 경우에는 세미콜론으로 구분할 수 있다.

예:

fmt.Println("Hello"); fmt.Println("World")

1.3 주석

Go의 주석은 C++과 동일한 방식으로 작성한다.
• 한 줄 주석: //
• 여러 줄 주석:/**/


2. gofmt: Go 코드 스타일 도구

2.1 gofmt란?

gofmt는 Go 코드의 문법 스타일을 자동으로 수정해주는 도구다. Go 프로젝트에서 일관된 스타일을 유지하기 위해 반드시 사용하는 것이 좋다.


2.2 사용법

  • 코드 수정 및 저장: 아래 명령어는 file.go 파일을 바로 수정하고 저장한다.
gofmt -w file.go
  • 수정된 내용을 출력: 수정된 결과를 터미널에 출력한다.
gofmt file.go

 


2.3 gofmt의 특징

  • 모든 Go 코드 파일은 동일한 스타일을 유지한다.
  • 팀 단위 개발에서도 스타일 충돌을 최소화할 수 있다.

3. Go의 소스 코드와 유니코드

Go 소스 코드는 UTF-8 형식을 사용하기 때문에, 알파벳, 한글, 일본어, 한자 등 다양한 문자를 함께 표현할 수 있다. 이는 국제화(i18n) 프로젝트나 다국어 지원 시스템을 개발할 때 유리하다.

예:

fmt.Println("안녕하세요, Go!")
fmt