-
Go 언어의 세미콜론 ;공부/GO 2023. 7. 4. 05:49
Go언어는 세미콜론을 생략하여 사용한다.
정확하게 말하자면 세미콜론을 생략할 수 있다.
https://go.dev/doc/effective_go
Effective Go - The Go Programming Language
Documentation Effective Go Effective Go Introduction Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straigh
go.dev
위 글에서 매우 잘 나와있는데, SemiColons에 대한 항목을 정리하자면 다음과 같다.
Go의 정규 문법은 C와 같이 문장의 끝마다 세미콜론을 붙여 사용한다. 다만 C랑 다르게 이를 생략하여 사용한다. 아주 간단한 규칙이다. 낱말 분석기(lexer)가 줄의 맨 뒤에 있는 token(문법의 최소 단위)을 인식할 때, 이것이 문장을 종결할 수 있을 때(예. break, continue) 세미콜론을 붙인다. 예를 들어 +기호는 그 자체로 문장을 종결할 수 없다. 이외에도 닫는 중괄호 앞에 세미콜론을 붙인다거나, 파일의 끝에 세미콜론을 붙이는 등의 세부규칙이 있다.
break // -> break; x := 1 + 2 // no error if true {fmt.Println("no error")} // 닫는 중괄호 앞에 삽입
아래 코드는 이러한 특징을 보여주는 극단적인 예시이다. 아래는 컴파일 시 오류가 발생하는데, 이는 f()가 함수 호출이고 줄의 맨뒤이기 때문에 세미콜론이 삽입되기 때문이다.
if i < f() { go() } // 세미콜론 삽입 후 if i < f(); // error! { // error! go(); }
따라서 코드를 작성할 때 세미콜론을 유의해서 작성해야 한다. Go 언어의 일반적인 코드 스타일은 필요한 부분을 제외하고 세미콜론을 생략하는 것이다. 꼭 필요한 코드가 있다 하더라도 여러 줄에 쓰면 웬만하면 모두 해결되니 그것이 훨씬 더 간결한 경우를 제외하고는 그냥 개행해서 알아서 세미콜론이 붙게 쓰도록 하자.
요약
1. Go 언어는 세미콜론을 쓰지만 생략할 수 있다.
2. 알잘딱해서 붙여줌.
3. 좋은 코드를 작성하면 문제될 일 없다.
'공부 > GO' 카테고리의 다른 글
Go interface 구현 시 pointer receiver 오류 (0) 2023.07.11 Go tutorial - Hello World! (0) 2023.07.04 Vim 설치하기 (Windows) (0) 2023.07.04