switch 패턴과 가드
형태를 일치시키고 when 조건을 추가합니다
switch 패턴과 가드은(는) CoddyKit의 무료 Dart Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Dart Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
switch와 패턴의 만남
최신 Dart에서는 switch가 상수뿐 아니라 패턴과도 일치하는지 확인할 수 있습니다. 각 case에서 값의 형태를 검사하고 동시에 구조를 분해할 수 있습니다. 🔀
레코드 형태와 일치시키기
case에는 레코드 패턴을 사용할 수 있습니다. 값이 해당 형태와 일치하면 case가 실행되고 필드가 변수에 바인딩됩니다.
switch (point) {
case (0, 0): print('origin');
}일치시키면서 바인딩하기
패턴은 일치하는 과정에서 값을 캡처할 수 있습니다. 각 칸에 이름을 지정하면 case 본문에서 바로 사용할 수 있는 필드를 얻습니다.
switch (p) {
case (var x, var y): print(x + y);
}와일드카드 case
밑줄을 사용한 case는 무엇이든 일치시킵니다. default처럼 동작하여 앞선 case에서 처리하지 않은 값을 받습니다.
switch (n) {
case 1: print('one');
case _: print('other');
}가드란 무엇인가요?
가드는 when 키워드로 case에 조건을 추가합니다. 패턴이 일치하고 검사 결과가 참일 때만 case가 실행됩니다.
case (var x, var y) when x == y:
print('diagonal');가드로 일치 조건 다듬기
형태만으로 충분하지 않을 때 가드를 사용합니다. 값에 따라 하나의 패턴을 더 세밀한 결과로 나눌 수 있습니다.
순서가 승자를 결정합니다
case는 위에서 아래 순서로 확인합니다. 처음 일치하는 case가 선택되므로, 더 구체적인 패턴을 더 포괄적인 패턴보다 앞에 배치해야 합니다.
식으로 사용하는 switch
switch 식은 값을 반환합니다. case에서는 화살표를 사용하고, 전체 switch가 하나의 결과로 평가됩니다.
var label = switch (n) {
1 => 'one',
_ => 'many',
};break는 필요하지 않습니다
패턴을 사용하는 case는 다음 case로 넘어가지 않으므로 break를 작성할 필요가 없습니다. 각 case가 독립적이고 깔끔하게 동작합니다.
논리 OR 패턴
||로 패턴을 연결하면 하나의 case에서 여러 형태를 일치시킬 수 있습니다. 본문을 반복하지 않고 서로 관련된 값을 함께 처리할 수 있습니다.
case 1 || 2 || 3:
print('small');빠짐없고 안전하게
봉인된 형식의 경우 컴파일러가 switch가 모든 경우를 처리하는지 확인합니다. case를 빠뜨리면 실행 전에 Dart가 경고합니다.
빠른 확인
switch case 패턴에 추가 조건을 지정하는 키워드는 무엇인가요?
복습: 패턴과 가드
해내셨습니다! 🎯 switch는 패턴과 일치시키고, 필드를 캡처하며, when 가드로 일치 조건을 다듬고, 식으로 값을 반환할 수 있습니다.
자주 묻는 질문
“switch 패턴과 가드” 강의는 무료인가요?
네 — “switch 패턴과 가드” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Dart Academy 강의 전체를 잠금 해제할 수 있습니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“switch 패턴과 가드”에서 뭘 배우나요?
형태를 일치시키고 when 조건을 추가합니다 브라우저에서 직접 실행하는 실습 코드로 Dart Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Dart Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Dart Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“switch 패턴과 가드” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Dart Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Dart Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 레코드: 가벼운 튜플
- 위치 기반 및 이름 있는 레코드 필드
- 패턴을 사용한 구조 분해
- switch 패턴과 가드