리턴을 사용할 때 스위치를 중단해야합니까?
"return"을 사용할 때 "switch"기능에서 "break"를 사용해야하는지 궁금합니다.
function test($string)
{
switch($string)
{
case 'test1':
return 'Test 1: ' . $string;
case 'test2':
return 'Test 2: ' . $string;
}
}
나는 그것을 시도했고 "휴식"없이 잘 작동합니다. 하지만 이것이 안전한지 알아야합니다. 감사합니다.
예, return
대신 사용할 수 있습니다 break
...
break
선택 사항이며 다른 모든 명령문 에서 " 낙하 " 를 방지하는 데 사용됩니다 case
. 따라서 함수 실행이 끝나면 return
비슷한 방식으로 사용할 수 있습니다 return
.
또한 모든 case
진술이 다음과 같은 경우 :
case 'foo':
$result = find_result(...);
break;
그리고 그 후 switch
당신은 그냥이 문 return $result
사용하여 return find_result(...);
각은 case
코드가 훨씬 더 읽기 쉽게 만들 것입니다.
마지막으로 default
케이스 를 추가하는 것을 잊지 마십시오 . 코드가 절대 default
케이스에 도달하지 않을 것이라고 생각한다면 assert
확신 할 수 없기 때문에 함수를 사용할 수 있습니다.
중단이 필요하지 않으며 반환은 함수 실행을 중지합니다.
(참조 : http://php.net/manual/en/function.return.php 말한다 :
함수 내에서 호출되면 return () 문이 현재 함수의 실행을 즉시 종료합니다.
)
키워드 return이 호출되면 스위치 / 케이스가 호출 된 특정 기능이 종료되었음을 나타 내기 때문에 필요하지 않습니다.
아니, 당신은 필요하지 않습니다 break
A의 switch case
문. 은 break
실제로는 선택 사항이지만, 사용에주의.
Break는 스위치 구조의 제어가 다른 케이스로 이동하지 못하도록 제한하는 데 사용되는 경고문 일뿐입니다 ... 예를 들어 3 개의 case 문이 있고 값이 첫 번째 케이스이고 break 구조없이 case를 사용한 경우 다음 모든 경우 첫 번째 경우에만 조건이 충족 되더라도 실행됩니다 ... Return은 asme 기능을 수행 할 수 있으므로 break 대신 return을 사용하면 return이 switch case 문에서 제어권을 빼앗기 때문에 문제가되지 않습니다. 그 순간이 필요합니다 .. 도움이 되길 바랍니다 ....
필요하지는 않지만 어떤 경우에도 좋은 방법으로 사용하는 것이 좋습니다.
return 은 제어를 호출하는 메서드에 다시 제공합니다. 여기서 break 는 switch 블록 다음의 첫 번째 명령어로 점프합니다.
참고 URL : https://stackoverflow.com/questions/6330114/do-you-need-break-in-switch-when-return-is-used
'developer tip' 카테고리의 다른 글
Scala에서 하위 배열을 얻는 올바른 방법은 무엇입니까? (0) | 2020.09.12 |
---|---|
Django가 RuntimeError로 작동하지 않습니다 .Pulate () is n't reentrant (0) | 2020.09.12 |
C # : 정적 메서드가 여러 스레드에서 호출되면 어떻게됩니까? (0) | 2020.09.12 |
WinForms의 Model-View-Presenter (0) | 2020.09.12 |
constexpr은 인라인을 의미합니까? (0) | 2020.09.12 |