GO에서 break
and continue
문장은 for
, range
및 switch
와 같은 루프의 흐름을 제어하는 데 사용됩니다. 그들이 작동하는 방법은 다음과 같습니다.
브레이크 진술 :
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 숫자를 인쇄합니다.
break
과 continue
중첩 루프 내에서 사용할 수 있습니다. 그러나 외부 루프를 제어하기 위해 라벨과 함께 사용하지 않는 한 가장 안쪽 루프에만 영향을 미칩니다.
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의 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 루프의 break
및 continue
문의 주요 차이점은 다음과 같습니다.
루프 실행에 미치는 영향 :
break
전체 루프를 즉시 종료하여 루프를 종료하고 루프 다음에 다음 문으로 이동합니다.continue
현재 반복의 나머지 부분을 건너 뛰고 다음 루프 반복으로 이동합니다.유스 케이스 :
break
일반적으로 특정 조건을 충족시 (예 : 요소 찾기, 한계에 도달) 루프를 완전히 종료해야 할 때 사용됩니다.continue
사용됩니다 (예 : 특정 값을 건너 뛰고 불필요한 처리를 피).중첩 루프에 미치는 영향 :
break
continue
가장 안쪽의 루프에만 영향을 미칩니다.break
외부 루프를 종료 할 수 있지만 continue
외부 루프의 다음 반복으로 건너 뛸 수 있습니다.제어 흐름 :
break
종종 조기 종료에 사용되는 루프를 종료하여 제어 흐름을 변경합니다.continue
루프의 흐름을 유지하지만 현재 반복을 변경하여 필터링 또는 선택적 처리에 유용합니다.다음은 표 형식의 요약입니다.
측면 | break
|
continue
|
---|---|---|
루프 실행 효과 | 루프를 즉시 종료합니다 | 현재 반복의 나머지 부분을 건너 뜁니다 |
일반적인 사용 사례 | 조건에 따라 루프를 종료합니다 | 특정 조건 하에서 반복을 건너 뜁니다 |
중첩 루프에 미치는 영향 | 가장 안쪽 루프에만 영향을 미칩니다 (레이블이 붙지 않는 한) | 가장 안쪽 루프에만 영향을 미칩니다 (레이블이 붙지 않는 한) |
제어 흐름 변화 | 루프를 종료합니다 | 다음 반복으로 이동합니다 |
이러한 차이를 이해하면 GO에서 루프 동작을 효과적으로 제어하기위한 올바른 문을 선택하는 데 도움이됩니다.
위 내용은 Go에서 Break and Contind 문을 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!