Golang for

soso·2023년 10월 17일
0

묘공노트

목록 보기
7/13

• 이 글은 골든래빗 《Tucker의 Go 언어 프로그래밍》의 11장 써머리입니다.

11-1. for문 동작 원리

  • 반복문
  • Golang에서는 반복문으로 for 하나만 지원
    for 초기문; 조건문; 후처리{
    	코드블록
    }
    
    
    for i := 0; i <10; i++ {
    	fmt.Print(i, ",")
     }
     // 0부터 10 미만까지 i ++ 되어 출력 
     // 0,1,2,3,4,5,6,7,8,9

11-2. contineu, break

  • 반복문을 제어하는 키워드
    • continue : 이후 코드 블록을 수행하지 않고 곧바로 후처리 후 조건문부터 재검사
    • break : for문에서 바로 빠져나옴

11-3. 중첩 for문

  • 중첩해서 사용하는 for문
    • break 사용 시, break가 속한 for문만 빠져나옴
      (모든 for문을 나가는 것이 아님)

11-4. 중첩 for문, break, 레이블

  • 모든 for문을 빠져나가고 싶을 때 :
    • boolean 사용

      func main() {
        a := 1
        b := 1
        found := false     // boolean (t/f)
      
        for ; a <= 9; a++ {
          if a * b == 45 { // a * b = 45 조건 찾기
            found = true // 찾았음을 표시하고 break
            break
          }
        }
        if found {
        	break // 바깥 for문에서 찾았는 지 검사 후 break
        }
        fmt.Printf("%d * %d = %d\n", a, b, a*b)
      }```
    • 이런식으로 불리언 변수를 사용하는 것을 플래그 변수 라고 한다
      • 플래그 변수 : 깃발처럼 표시 (t/f)
        • 반복문에서 많이 사용 (가독성을 위해).
        • 반복문이 너무 많이 중첩 될 경우 오히려 복잡해질 수 있음 =>
          레이블 사용
    • 레이블 : for문 시작할 때 레이블 정의하고 break 시, 앞서 정의한 레이블을 적으면 그 레이블에서 가장 먼저 속한 for문까지 모두 종료
      • 사용은 편할 수 있으나, 혼동 및 버그 발생 가능 => 되도록 플래그 사용

0개의 댓글