GO의 스위치 명령문은 표현식 값에 따라 다른 코드 블록을 실행할 수있는 제어 흐름 문입니다. 특히 여러 조건을 다룰 때 여러 IF-ELSE 문보다 더 읽기 쉽고 간결하게 설계되었습니다. 스위치 명령문은 표현식을 한 번 평가 한 다음 여러 사례와 비교하여 첫 번째 일치 사례와 관련된 코드를 실행합니다. 사례가 일치하지 않으면 선택적 기본 케이스를 실행할 수 있습니다. 이 구조는 코드를 단순화하고 특히 많은 조건을 다룰 때 쉽게 관리하고 이해할 수 있습니다.
GO에서 스위치 명령문을 사용하면 여러 IF-ELSE 문에 대한 몇 가지 장점이 있습니다.
fallthrough
동작을 자연스럽게 방지하기 때문에 논리적 오류의 위험이 줄어 듭니다. GO에서 현재 사례의 코드 블록이 실행 된 후 실행이 다음 사례로 계속 유지되어야한다는 것을 명시 fallthrough
으로 지정하는 데 사용됩니다. 기본적으로 Go의 스위치 명령문은 케이스의 코드 블록을 실행 한 후 다음 케이스로 떨어지지 않습니다. 그러나 Case Code Block이 끝날 때마다 fallthrough
을 포함시킴으로써 실행은 스위치 표현식과 일치하는지 여부에 관계없이 다음 사례로 진행됩니다.
다음은 fallthrough
의 사용을 보여주는 예입니다.
<code class="go">switch i := 2; i { case 1: fmt.Println("One") case 2: fmt.Println("Two") fallthrough case 3: fmt.Println("Three") default: fmt.Println("Default") }</code>
이 예에서는 2 i
경우 "2"가 먼저 인쇄 된 다음 "Three"도 fallthrough
됩니다. "Three"도 인쇄됩니다. fallthrough
이 아닌 다음 경우에만 지속되기 때문에 default
케이스는 실행되지 않습니다.
예, 다음은 짧은 변수 선언을 사용하는 GO의 스위치 명령문의 예입니다.
<code class="go">package main import "fmt" func main() { switch num := 42; num { case 10: fmt.Println("Number is 10") case 20: fmt.Println("Number is 20") case 30: fmt.Println("Number is 30") case 40, 41, 42: fmt.Println("Number is 40, 41, or 42") default: fmt.Println("Number is not 10, 20, 30, 40, 41, or 42") } }</code>
이 예에서 num := 42
Switch 문에 직접 사용되는 짧은 변수 선언입니다. 스위치는 num
평가하고 해당 사례를 실행합니다. num
은 42이므로 40, 41, 42
의 사례와 일치하고 "인쇄 숫자는 40, 41 또는 42"입니다.
위 내용은 GO에서 스위치 문의 목적은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!