728x90
반응형
if else 문이다
이 이상 설명이 필요하지 않은 것 같다.
때로는 새로운 언어를 배울 때 그냥 그냥 넘어가는 것도 좋은 것 같다
Conditional Expression
은 짚고 넘어가자.
간단한 조건 로직의 경우 한 문장으로 쓸 수 있다.
condition ? expr1 : expr2
condition 이 만족하는 경우 expr1 을
아닌경우 expr2 를 수행(리턴)한다.
expr1 ?? expr2
expr1 값이 null 이 아니라면 expr1 을
null 이라면 expr2 를 수행(리턴)한다.
상황에 따라 잘 골라쓰면 될 것 같다.
예상하기로는
우선순위가 고려되는 로직의 경우 ?? 구문을 쓰는 것이 훨씬 가독성이 좋을 것 같다.
반대로 우선순위가 없는 단순 조건 분기의 경우에는 ? : 를 쓰는 것이 좋을 것 같다.
Switch and case
c 언어의 switch 문과 사용법이 동일하다.
var command = 'OPEN';
switch (command) {
case 'CLOSED':
executeClosed();
break;
case 'PENDING':
executePending();
break;
case 'APPROVED':
executeApproved();
break;
case 'DENIED':
executeDenied();
break;
case 'OPEN':
executeOpen();
break;
default:
executeUnknown();
}
switch () 괄호안에 어떤 변수를 기준으로 분기할 것인지를 정해주고
각 case 와 == 인 경우 case 문의 내용이 수행된다.
그리고 case 마지막에는 꼭 break; 을 넣어줘야한다.
(c 에서는 break 없이도 동작했던 것 같은데...)
만약 여러 분기에서 조건을 걸고 싶다면 continue 를 사용할 수 있다.
var command = 'CLOSED';
switch (command) {
case 'CLOSED':
executeClosed();
continue nowClosed;
// Continues executing at the nowClosed label.
nowClosed:
case 'NOW_CLOSED':
// Runs for both CLOSED and NOW_CLOSED.
executeNowClosed();
break;
}
좋은 코드 인지는 모르겠지만 유즈 케이스가 아예 없지는 않을 것 같긴하다.
728x90
반응형
'지식 > Flutter' 카테고리의 다른 글
[Flutter] 개요 (0) | 2023.01.29 |
---|---|
Dart 반복문 (0) | 2023.01.23 |
Dart functions (0) | 2023.01.23 |
Dart Final 과 Const (0) | 2023.01.21 |
Dart 자료형 (1) | 2023.01.21 |
댓글