Trong Go, vòng lặp for là một trong những cấu trúc điều khiển quan trọng nhất và được sử dụng để lặp qua một chuỗi giá trị, như các phần tử trong một mảng, slice, hoặc thực hiện một lặp vô hạn. Cú pháp của vòng lặp for trong Go có thể hơi khác so với một số ngôn ngữ lập trình khác, nhưng nó rất linh hoạt và dễ hiểu. Dưới đây là một cái nhìn tổng quan về cách sử dụng vòng lặp for trong Go, bao gồm các cú pháp và ví dụ cụ thể.

Cú pháp cơ bản của vòng lặp for

Có ba cách chính để sử dụng vòng lặp for trong Go:

1. Vòng lặp với điều kiện

Cú pháp này tương tự như trong nhiều ngôn ngữ lập trình khác, nơi bạn có một điều kiện kiểm tra trước khi lặp lại.

for initialization; condition; post {
    // Câu lệnh được thực thi trong mỗi lần lặp
}
  • initialization: Khởi tạo biến lặp.
  • condition: Điều kiện lặp; vòng lặp sẽ tiếp tục nếu điều kiện là true.
  • post: Cập nhật biến sau mỗi lần lặp.

Ví dụ

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println("Current value of i:", i)
    }
}

Khi chạy đoạn mã trên, bạn sẽ nhận được kết quả:

Current value of i: 0 Current value of i: 1 Current value of i: 2 Current value of i: 3 Current value of i: 4

2. Vòng lặp vô hạn

Vòng lặp for có thể được sử dụng để tạo một vòng lặp vô hạn bằng cách không cung cấp điều kiện.

for {
    // Câu lệnh được thực thi liên tục
}

Ví dụ

package main

import "fmt"

func main() {
    count := 0
    for {
        fmt.Println("Count:", count)
        count++
        if count >= 5 {
            break // Thoát khỏi vòng lặp khi count đạt 5
        }
    }
}

Khi chạy đoạn mã trên, bạn sẽ nhận được kết quả:

Count: 0
Count: 1
Count: 2
Count: 3
Count: 4

3. Vòng lặp với range

Vòng lặp for cũng có thể được sử dụng với range để lặp qua các phần tử trong mảng, slice, map hoặc chuỗi.

for index, value := range collection {
    // Câu lệnh được thực thi cho mỗi phần tử
}

Ví dụ

package main

import "fmt"

func main() {
    numbers := []int{10, 20, 30, 40, 50}

    // Lặp qua slice với range
    for index, value := range numbers {
        fmt.Printf("Index: %d, Value: %dn", index, value)
    }
}

Khi chạy đoạn mã trên, bạn sẽ nhận được kết quả:

Index: 0, Value: 10
Index: 1, Value: 20
Index: 2, Value: 30
Index: 3, Value: 40
Index: 4, Value: 50

Kết luận

Vòng lặp for trong Go rất linh hoạt và có thể được sử dụng theo nhiều cách khác nhau để phù hợp với nhu cầu lập trình của bạn. Dù là lặp qua các phần tử trong một tập hợp, thực hiện một lặp có điều kiện, hay tạo vòng lặp vô hạn, cú pháp của for trong Go giúp bạn dễ dàng điều khiển luồng thực thi của chương trình. Hãy thực hành với các kiểu vòng lặp khác nhau để nắm vững hơn cách sử dụng chúng trong các ứng dụng thực tế.