Sang phần 3 này, chúng ta sẽ tìm hiểu về Control Flow.
Control flow cho phép bạn ra lệnh khi nào thực thi, bỏ qua hoặc lặp lại một số dòng mã nhất định. Bạn sử dụng các điều kiện (conditionals ) và vòng lặp (loops ) để xử lý luồng điều khiển trong Dart.
Trong phần này, bạn sẽ tìm hiểu thêm về:
- Conditionals
- While Loops
- Continue and Break
- For Loops
Đây là những gì bạn cần biết về các phần tử luồng điều khiển trong Dart.
Conditionals
Hình thức cơ bản nhất của luồng điều khiển là quyết định thực thi hay bỏ qua các phần nhất định của mã của bạn, tùy thuộc vào các điều kiện xảy ra khi chương trình của bạn chạy.
Cấu trúc ngôn ngữ để xử lý các điều kiện là câu lệnh if
/ else
. if
/ else
trong Dart trông gần giống với việc sử dụng nó trong các ngôn ngữ giống C khác.
Câu lệnh If
Giả sử bạn có một biến animal
đó hiện là một con cáo. Nó trông như thế này:
var animal = 'fox';

Bạn có thể sử dụng một if
câu lệnh để kiểm tra xem đó animal
là mèo hay chó, sau đó chạy một số mã tương ứng.
if (animal == 'cat' || animal == 'dog') { print('Animal is a house pet.'); }
Ở đây, bạn đã sử dụng các toán tử equality và OR để tạo bool điều kiện bên trong cho if câu lệnh.
Câu lệnh else
Với một else
mệnh đề, bạn có thể chạy mã thay thế nếu điều kiện sai:
else { print('Animal is NOT a house pet.'); } // Animal is NOT a house pet.
Bạn cũng có thể kết hợp nhiều câu lệnh if
/ else
thành một hàm if
/ else if
/ else
:
if (animal == 'cat' || animal == 'dog') { print('Animal is a house pet.'); } else if (animal == 'rhino') { print('That\'s a big animal.'); } else { print('Animal is NOT a house pet.'); } // Animal is NOT a house pet.
Bạn có thể có nhiều else if
nhánh giữa if
và else
tùy theo nhu cầu.
While Loops
Vòng lặp cho phép bạn lặp lại mã một số lần nhất định hoặc dựa trên các điều kiện nhất định. Bạn xử lý sự lặp lại dựa trên điều kiện bằng cách sử dụng vòng lặp while .
Có hai dạng vòng lặp while trong Dart: while
và do-while
. Sự khác biệt là với while
, điều kiện lặp xảy ra trước khối mã. Trong khi do-while
, điều kiện xảy ra sau. Điều đó có nghĩa là do-while
các vòng lặp đảm bảo khối mã chạy ít nhất một lần.
Ví dụ While Loop
Để thử điều này, hãy tạo một biến được i
khởi tạo thành 1:
var i = 1 ;
Tiếp theo, sử dụng một while
vòng lặp để in i
trong khi tăng dần. Đặt điều kiện thành i
nhỏ hơn 10:
while (i < 10) { print(i); i++; } // 1 // 2 // 3 // 4 // 5 // 6 // 7 // 8 // 9
Chạy mã và bạn sẽ thấy rằng while
vòng lặp in các số từ 1 đến 9.
Ví dụ Do-While
Đặt lại i
trong DartPad, sau đó thêm vòng lặp do-while
:
i = 1; do { print(i); i++; } while (i < 10); // 1 // 2 // 3 // 4 // 5 // 6 // 7 // 8 // 9
Kết quả vẫn giống như trước đây. Tuy nhiên, lần này, phần thân của vòng lặp đã chạy một lần trước khi kiểm tra điều kiện thoát khỏi vòng lặp.
Continue and Break
Dart sử dụng continue
và break
từ khóa trong các vòng lặp và các nơi khác. Đây là những gì họ làm:
- continue : Bỏ qua mã còn lại bên trong một vòng lặp và ngay lập tức chuyển sang lần lặp tiếp theo.
- break : Dừng vòng lặp và tiếp tục thực hiện sau phần thân của vòng lặp.
Hãy cẩn thận khi sử dụng continue
trong mã của bạn. Ví dụ: nếu bạn thực hiện do-while
vòng lặp từ trên và bạn muốn tiếp tục khi i
bằng 5, điều đó có thể dẫn đến một vòng lặp vô hạn tùy thuộc vào vị trí bạn đặt câu lệnh continue
:
i = 1; do { print(i); if (i == 5) { continue; } ++i; } while (i < 10); // 1 // 2 // 3 // 4 // 5 // 5 // 5 // 5 // 5 // 5 // 5 // 5 // 5 // 5 // ...
Vòng lặp vô hạn xảy ra bởi vì, một khi i
là 5, bạn không bao giờ tăng nó nữa, vì vậy điều kiện luôn đúng.
Nếu bạn chạy điều này trong DartPad, vòng lặp vô hạn sẽ khiến trình duyệt bị treo. Thay vào đó, hãy sử dụng break
, để vòng lặp kết thúc sau khi i
đạt đến 5:
i = 1; do { print(i); if (i == 5) { break; } ++i; } while (i < 10); // 1 // 2 // 3 // 4 // 5
Chạy mã. Bây giờ, vòng lặp kết thúc sau năm lần lặp.
For Loops
Trong Dart, bạn sử dụng các vòng lặp for
để lặp lại một số lần được xác định trước. Vòng lặp for
bao gồm khởi tạo, một điều kiện vòng lặp và một hành động. Chúng tương tự như for
các vòng lặp trong các ngôn ngữ khác.
Dart cũng cung cấp một for-in
vòng lặp, lặp lại trên một tập hợp các đối tượng. Bạn sẽ tìm hiểu thêm về những điều này sau.
Để xem cách for
hoạt động của một vòng lặp, hãy tạo một biến cho sum:
var sum = 0 ;
Tiếp theo, sử dụng một vòng lặp for
để khởi tạo bộ đếm vòng lặp từ i
đến 1. Sau đó, bạn sẽ kiểm tra xem i
nhỏ hơn hoặc bằng 10 và tăng dần i
sau mỗi vòng lặp.
Bên trong vòng lặp, sử dụng phép gán ghép để thêm i
vào tổng đang chạy:
for (var i = 1; i <= 10; i++) { sum += i; } print("The sum is $sum"); // The sum is 55
Chạy mã của bạn trong DartPad để xem tổng.

Kết thúc phần 3!
Leave a Reply