Golang 탐방기 - 문법(제어문)

veloss·2018년 10월 3일
1
post-thumbnail

go에서의 흐름 제어문은 if, switch, for, select 이렇게 네가지가 있습니다.

select 문은 병행 처리 코드를 작성할 때 채널을 제어하기 위해 사용됩니다. 그래서
이번 탐방기에서는 생략하고 병행 처리를 소개할 때 같이 소개하겠습니다.

if

golang에서의 if문은 다른 언어에서 사용하는 if문과 같은 역활을 한다. 조선식을 판단하여 결과가 true면 if문 내부에 있는 구문을 수행합니다.

golang애서의 조건식에는 소괄호를 사용하지 않습니다. 그래서 종종 실수하시는 경우가 생길 겁니다. 이 부분은 참고해두세요!

그리고 한가지 더 알아야 할것은 조건식의 결과는 반드시 bool 타입이여야 한다. 제가 이 부분을 강조하는 이유는 개발을 하다보면 이런식으로 코드를 작성하는 경우가 있습니다.

하지만 go에서는 이런식으로 작성하지면 안됩니다. 무조선 bool타입을 내보내는 형태로 작성해야 합니다.

else if

else if 문도 다른 언어들과 마찬가지로 똑같은 역활을 합니다. 하지만 너무 많은 else if문은 가독성을 떨어트릴 수 있기 때문에 최대한 덜 사용하고 만약 많이 사용해야 한다면 switch문을 사용하시면 됩니다.

왜 swtich문을 사용하냐면 바로 밑에서 그 이유를 설명 하겠습니다.

그리고 go에서의 if문은 또 하나의 멋진 기능이 있습니다. 바로 조건식에서 바로 초기화 구문을 작성할 수 있습니다.

Switch

golang에서의 switch문은 이렇습니다.

switch문은 첫번쨰 case의 조건부터 차례로 비교하다가 조건이 일치하는 case 구문을 수행하고 switch문을 종료합니다. 그리고 case 식은 값을 하나 이상 쓸수 있습니다.

case조건을 만나면 바로 switch문을 빠져나가기 때문에 switch문에는 break을 쓰지
않아도 됩니다. 만약 일치하는 조건을 만나도 다음 case로 넘어가려면 fallthrough를 표기 사용합니다.

아까 위에서 switch문을 else if 문 대신 사용하라고 했는데 그 이유는 여기서 나옵니다.
switch문에서 조건식을 사용하는 것입니다.

위에 문법은 else if 구문과 유사하게 동작합니다. else if를 많이 사용하는 것 보다는 switch문을 사용하는게 가독성이 더 좋을 것입니다.

초기화 구문도 작성이 가능합니다.

정말 멋진 기능이죠?

for

golang에서는 모든 반복문은 for문으로 사용합니다. 즉, while문이 존재하지 않다는 것이죠.

golang에서의 for문은 초기화 구문과 후속 작업, 조건식을 생략할 수 있습니다.

break문과 continue문도 존재해서 강제 종료할 때나 반복 작업을 건너뛰고 다음 반복 작업을 수행할 때 유용합니다.

여기까지 간단하게 제어문제 대해 적어봤습니다. 만약 틀린 부분이 있으면 언제든지 지적 부탁드립니다.

profile
개발자 희망생

0개의 댓글