Vòng lặp `for` chỉ có điều kiện
Thuộc phần Kiến thức nền tảng trong hành trình GO của Coddy. Bài học 46 trên 109.
Hãy cùng tìm hiểu về vòng lặp for chỉ có điều kiện trong Go. Loại vòng lặp này hoạt động giống vòng lặp while trong các ngôn ngữ khác, chỉ dùng điều kiện mà không có câu lệnh khởi tạo hay câu lệnh sau mỗi lần lặp.
Trước tiên, hãy tạo một chương trình đếm đơn giản từ 1 đến 3:
i := 1
for i <= 3 {
fmt.Println(i)
i++
}Sau khi chạy đoạn code này, các số 1, 2 và 3 sẽ lần lượt hiện trên màn hình:
1
2
3Vòng lặp kiểm tra xem i có nhỏ hơn hoặc bằng 3 trước mỗi lần lặp hay không. Bên trong vòng lặp, ta in ra giá trị hiện tại của i, rồi tăng nó lên 1 bằng i++. Vòng lặp tiếp tục chạy khi điều kiện i <= 3 vẫn đúng và dừng khi i trở thành 4.
Khác với vòng lặp for thông thường, ta cần tự tăng biến đếm bên trong thân vòng lặp, nếu không vòng lặp sẽ chạy vô hạn.
Thử thách
Người mớiTrong thử thách này, bạn sẽ luyện tập dùng vòng lặp for chỉ với một điều kiện, không có câu lệnh khởi tạo hay câu lệnh sau vòng lặp. Cách này tương tự như vòng lặp while trong các ngôn ngữ khác.
Mình đã tạo sẵn một biến boolean keepRunning có giá trị là true và một biến đếm count có giá trị là 0. Nhiệm vụ của bạn là hoàn thành vòng lặp for để in ra các số từ 0 đến 4 rồi dừng lại.
Bên trong vòng lặp, bạn tăng count lên rồi kiểm tra xem biến này đã đạt đến 5 chưa. Khi đạt đến 5, bạn gán false cho keepRunning để thoát khỏi vòng lặp.
Tự làm thử
package main
import "fmt"
func main() {
// Các biến này đã được khai báo sẵn cho bạn
keepRunning := true
count := 0
// TODO: Hoàn thành vòng lặp for chỉ dùng một điều kiện (giống vòng lặp while)
// Vòng lặp cần tiếp tục khi keepRunning còn là true
for {
// In ra giá trị hiện tại của count
fmt.Println(count)
// Tăng count lên 1
count++
// Kiểm tra count có bằng 5 không. Nếu có, đặt keepRunning thành false
if count >= 5 {
keepRunning = false
}
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Toán tử so sánh và logic
Toán tử so sánh, phần 1Toán tử so sánh, phần 2Toán tử AND logicToán tử OR logicToán tử NOT logicCơ bản về thứ tự ưu tiên của toán tửÔn tập: thực hiện phép so sánh7Luồng điều khiển: vòng lặp
Giải thích vòng lặp `for`Vòng lặp `for` cơ bảnVòng lặp `for` chỉ có điều kiệnTừ khóa `break`Từ khóa `continue`Vòng lặp lồng nhauÔn tập: lặp lại hành động2Biến và các kiểu dữ liệu cơ bản
Biến là gìSuy luận kiểu với `:=`Số nguyên (int)Số dấu phẩy độngGiá trị BooleanChuỗiGiá trị 0Hằng sốQuy ước đặt tênÔn tập: biến và kiểu dữ liệu5Đầu vào/đầu ra cơ bản
Đầu ra có định dạngĐộng từ định dạngIn các kiểu dữ liệuNhận đầu vào cơ bản từ người dùngÔn tập: đầu vào và đầu ra8Hàm
Tìm hiểu về hàmKhai báo hàmGọi hàmTham số của hàmTrả về một giá trịTrả về nhiều giá trịGiá trị trả về có tênNhững điều cơ bản về phạm vi của hàmÔn tập: Tạo code có thể tái sử dụng3Toán tử cơ bản
Toán tử số họcToán tử chiaToán tử moduloToán tử gánToán tử gán kết hợpTăng và giảmÔn tập: Tính toán6Luồng điều khiển: câu lệnh điều kiện
Câu lệnh `if`Từ khóa `else`Từ khóa `else if`Biến bị che khuất trong `if`Khởi tạo biếnCâu lệnh `switch``switch` có biểu thức`switch` không có biểu thứcTừ khóa `fallthrough`Ôn tập: đưa ra quyết địnhTự luyện tập: Trình biên dịch Go online