Dart 언어[004] 제어 프로세스 문

1. 조건판단문
1.1 if 문
만약 문장의 용법은 다른 언어와 별 차이가 없다.
void Func(int n) {
  if (n > 0) {
    print("  ");
  } else {
    if (n == 0) {
      print(" ");
    } else {
      print("  ");
    }
  }
}

특히 검사 모드에서if의 조건 표현식 값의 유형은 bool 또는 bool의 파생 클래스이어야 하며 그렇지 않으면 이상(exception)을 일으킬 수 있다.생산 모드에서if의 조건은 모든 종류를 받아들일 수 있지만, bool도 bool도 파생류도 아닌 모든 종류의 변수는false로 간주된다.
if (1) { //          ;         if (false)

}

너는 잘못 보지 않았다. 1은false로 간주된다.
2. 스위치 문
2.1 switch 문
switch 문 형식은 다음과 같습니다.
switch (e) {
  case      1:
  case      1:
  ......
  case      n:
  default:
}

여기서 e는 표현식입니다.e의 유형을 T로 설정하면 T는operator==을 다시 불러와야 합니다.나는 뒷부분에서 연산자 재부팅을 소개할 것이다. 만약 당신이 C++나 C# 등 연산자 재부팅이 있는 언어를 접한 적이 있다면, 이 물건을 쉽게 이해할 수 있을 것이다.접촉한 적이 없어도 상관없다. t1과 t2가 모두 T 유형의 변수라면 표현식 t1==t2는 합법적이다.
2.2 switch 문장의 성질
1) 비어 있지 않은 케이스는 실행이 끝난 후에break,return,throw의 방식으로 switch를 끝내거나 continue 문장으로 다른 케이스를 실행해야 한다(후문에서 continue 문장을 소개한다).
2) 빈 케이스로 바로 관통할 수 있다.
void Func(int n) {
  switch (n) {
    case 1: //   case,      
    case 2:
    case 3: //    case
      print("n 1、2 3");
      break;
    case 4: //   case,      break  switch
      break;
    default:
      break;
  }
}

3. 순환문
3.1 for 문
Dart의 for 문장은 C 언어와 유사해서 별다른 점이 없다.
for (int i = 0; i < 10; i++) {
  print(i);
}

3.2 forEach 함수
Dart는 많은 언어처럼'foreach 문구'를 제공하지 않지만List와 맵 유형에 대해forEach 구성원 함수를 제공한다.
List 유형에는 구성원 함수 forEach가 있습니다.
// Dart        ,       :
class List<T> {
  void forEach(void f(T t));
}

forEach는 반환 값이 없는 매개변수 목록(T t)을 적용합니다.
void main() {
  List<int> theList = [1, 3, 2, 90];
  theList.forEach(Op);
}

void Op(int n) {
  print(n);
}

Map 유형에는 구성원 함수 forEach가 있습니다.
// Dart        ,       :
class Map<K, V> {
  void forEach(void f(K key, V value));
}

3.3 while 문
while는 간략한 버전의 for로 볼 수 있습니다.
while (x) {
  //   
}

다음과 같습니다.
for (; x;) {
  //   
}

3.4 do-while 문
do-while와while의 차이점은 하나는 먼저 판단하고 하나는 먼저 집행한 다음에 판단하는 것이다.이것은 C 언어와 같다.예는 안 줘요.
‍4. 점프 문장
break와continue
break와continue의 용법은 C 언어 등 흔히 볼 수 있는 프로그래밍 언어와 같다. continue는 이번 순환을 끝내고break는 전체 순환을 끝낸다.
또한continue 문장은 switch에서 비공식case를 실행한 후에 다른case를 계속 실행하는 목적을 달성할 수 있습니다.
void Func(int n) {
  switch (n) {
    case 1:
      print("case 1");
      continue Label_; //    case 1  ,    case 2
    Label_: case 2:
      print("case 2");
      break;
    case 3:
      print("case 3");
      break;
    default:
      print("default");
      break;
  }
}

여기서 Labelcontinue 문장의 이동 위치를 가리키기 위해 케이스에 라벨을 추가하는 것입니다.

좋은 웹페이지 즐겨찾기