『Tucker의 Go 언어 프로그래밍』 스터디 요약 노트입니다.
11장. for문
for문의 Go 언어에서의 특징만 확인해보자.
- Go에서 반복문은
for
문만 제공된다. for
를while
처럼 사용하기 위한 문법을 제공한다. (초기문이나 후처리 생략)
초기문, 후처리 생략
초기문과 후처리를 생략할 수 있다. 모두 생략하는 경우 사실상 while
문과 다름이 없다.
|
|
|
|
|
|
|
|
초기문과 후처리를 모두 생략한 경우는 사실상 while
문이나 다름이 없다.
레이블을 활용한 break
다중 for
문에서 레이블을 선언하고, break
뒤에 레이블을 입력하면 해당 레이블에서 가장 가까운 for
에서 break
하는 효과가 있는데, 사실상 goto
의 응용이라고 볼 수 있다.
대부분 프로그래밍 언어에서는 goto
계열의 기능 사용을 자제하라고 권고하고 있다. 만약 goto
를 사용할 수 밖에 없는 경우에는 뒤쪽 레이블로만 사용할 것을 권고하고 있다. 대부분 임베디드 계열 코드나, 커널 코드를 보면 성능 향상이나 코드 크기 문제로 인해 어쩔 수 없이 goto
를 사용하기 때문이다.
그런데 여기서 사용하는 break
의 활용 예시는 앞쪽 레이블을 인자로 사용하며, 해당 레이블에서 가까운 for
문을 확인해야 하므로, 좋은 접근법은 아니다. 일반적으로 사용하지 말고, 어쩌다 코드 리딩 중에 발견할때 이해하는 수준으로 넘어가자.