> 백엔드 개발 > Golang > Go에서 Break and Contind 문을 어떻게 사용합니까?

Go에서 Break and Contind 문을 어떻게 사용합니까?

Emily Anne Brown
풀어 주다: 2025-03-19 14:36:34
원래의
167명이 탐색했습니다.

Go에서 Break and Contind 문을 어떻게 사용합니까?

GO에서 break and continue 문장은 for , rangeswitch 와 같은 루프의 흐름을 제어하는 ​​데 사용됩니다. 그들이 작동하는 방법은 다음과 같습니다.

  • 브레이크 진술 :
    break 명령문은 루프의 실행을 조기에 종료하는 데 사용됩니다. 루프 내부에서 break 발생하면 루프가 즉시 종료되고 루프 후 다음 명령문에서 프로그램 제어가 재개됩니다.

     <code class="go">for i := 0; i </code>
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사

    이 예에서 루프는 숫자 0 ~ 4를 인쇄 한 다음 5에 i 하면 종료합니다.

  • 계속 성명서 :
    continue 명령문은 루프의 현재 반복의 나머지 부분을 건너 뛰고 다음 반복으로 진행하는 데 사용됩니다. 루프 내부에서 continue 되면 현재 반복이 버려지고 루프는 다음 반복과 함께 진행됩니다.

     <code class="go">for i := 0; i </code>
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사

    이 예에서 루프는 숫자 5를 건너 뛰는 숫자 0에서 4 및 6 ~ 9 숫자를 인쇄합니다.

breakcontinue 중첩 루프 내에서 사용할 수 있습니다. 그러나 외부 루프를 제어하기 위해 라벨과 함께 사용하지 않는 한 가장 안쪽 루프에만 영향을 미칩니다.

GO 프로그래밍의 중단 명세서의 일반적인 사용 사례는 무엇입니까?

break 명세서는 다음 시나리오에서 GO 프로그래밍에 일반적으로 사용됩니다.

  • 무한 루프 종료 : 특정 조건에서 중지 될 수있는 무한 루프를 만들려면 break 사용하여 루프를 종료 할 수 있습니다.

     <code class="go">for { input := getInput() if input == "exit" { break } processInput(input) }</code>
    로그인 후 복사
  • 컬렉션 검색 : 컬렉션을 반복하고 (배열 또는 슬라이스와 같은) 특정 요소를 찾아야 할 때는 요소가 발견되면 검색을 중지하기 위해 break 사용할 수 있습니다.

     <code class="go">numbers := []int{1, 2, 3, 4, 5} target := 3 for _, num := range numbers { if num == target { fmt.Println("Found:", target) break } }</code>
    로그인 후 복사
  • 스위치 문의 사례 일치 : GO의 break 문은 switch 문의 각 사례의 끝에 암시 적으로 추가되지만 전체 switch 구조를 조기에 종료하기 위해 switch 문에 명시 적으로 사용될 수 있습니다.

     <code class="go">switch num := 3; num { case 1: fmt.Println("One") case 2: fmt.Println("Two") case 3: fmt.Println("Three") break // Not needed explicitly here but can be used in some scenarios default: fmt.Println("Other") }</code>
    로그인 후 복사
  • 중첩 된 루프에서 나누기 : 레이블을 사용하면 중첩 루프에서 나가는 데 break 사용될 수 있습니다.

     <code class="go">OuterLoop: for i := 0; i </code>
    로그인 후 복사

계속 명령문이 GO에서 루프 실행에 어떤 영향을 미칩니 까?

GO의 continue 명세서는 다음과 같은 방식으로 루프 실행에 직접적인 영향을 미칩니다.

  • 현재 반복 건너 뛰기 : 루프 본체 내에서 continue 되면 즉시 다음 루프 반복으로 이동합니다. 동일한 반복 내에서 continue 후 모든 진술이 건너 뜁니다.

     <code class="go">for i := 0; i </code>
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사

    이 예에서 출력은 0 , 1 , 3 , 4 입니다. continue 명세서로 인해 2 일 때는 현재 반복이 포기되기 때문에 2 번은 i 뜁니다.

  • 중첩 루프 내에서 : continue 명령문은 나타나는 가장 안쪽 루프에만 영향을 미칩니다. 외부 루프에는 영향을 미치지 않습니다.

     <code class="go">for i := 0; i </code>
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사

    이 예에서 j 1 같은 경우, 내부 루프의 현재 반복이 건너 뜁니다. 다음 j 값으로 이동합니다. 외부 루프는 정상적으로 계속됩니다.

  • 루프 처리의 효율성 : continue 불필요한 처리 또는 루프 내 예외를 처리하는 데 유용 할 수 있으므로 루프의 효율성이 향상됩니다.

     <code class="go">numbers := []int{1, -2, 3, -4, 5} for _, num := range numbers { if num </code>
    로그인 후 복사

    이 경우 음수가 건너 뜁니다. 양수 만 인쇄하여보다 효율적인 루프 처리가됩니다.

GO 루프에서 휴식과 계속하는 중단의 주요 차이점은 무엇입니까?

GO 루프의 breakcontinue 문의 주요 차이점은 다음과 같습니다.

  • 루프 실행에 미치는 영향 :

    • break 전체 루프를 즉시 종료하여 루프를 종료하고 루프 다음에 다음 문으로 이동합니다.
    • continue 현재 반복의 나머지 부분을 건너 뛰고 다음 루프 반복으로 이동합니다.
  • 유스 케이스 :

    • break 일반적으로 특정 조건을 충족시 (예 : 요소 찾기, 한계에 도달) 루프를 완전히 종료해야 할 때 사용됩니다.
    • 현재 반복을 건너 뛰고 싶지만 루프를 계속할 때 continue 사용됩니다 (예 : 특정 값을 건너 뛰고 불필요한 처리를 피).
  • 중첩 루프에 미치는 영향 :

    • 레이블이 없으면 break continue 가장 안쪽의 루프에만 영향을 미칩니다.
    • 레이블을 사용하면 break 외부 루프를 종료 할 수 있지만 continue 외부 루프의 다음 반복으로 건너 뛸 수 있습니다.
  • 제어 흐름 :

    • break 종종 조기 종료에 사용되는 루프를 종료하여 제어 흐름을 변경합니다.
    • continue 루프의 흐름을 유지하지만 현재 반복을 변경하여 필터링 또는 선택적 처리에 유용합니다.

다음은 표 형식의 요약입니다.

측면 break continue
루프 실행 효과 루프를 즉시 종료합니다 현재 반복의 나머지 부분을 건너 뜁니다
일반적인 사용 사례 조건에 따라 루프를 종료합니다 특정 조건 하에서 반복을 건너 뜁니다
중첩 루프에 미치는 영향 가장 안쪽 루프에만 영향을 미칩니다 (레이블이 붙지 않는 한) 가장 안쪽 루프에만 영향을 미칩니다 (레이블이 붙지 않는 한)
제어 흐름 변화 루프를 종료합니다 다음 반복으로 이동합니다

이러한 차이를 이해하면 GO에서 루프 동작을 효과적으로 제어하기위한 올바른 문을 선택하는 데 도움이됩니다.

위 내용은 Go에서 Break and Contind 문을 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿