Menu
CoddyTech

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
3

Vò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.

challenge icon

Thử thách

Người mới

Trong 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
		}
	}
}
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch Go online