Leaderboard ads banner

Go For Loop

Trong Golang chỉ có một loại vòng lặp duy nhất là vòng lặp for.

for i := 0; i < 10; i++ {
    sum += i
}

Cấu Trúc Vòng Lặp For trong Golang

Cấu trúc vòng lặp for gồm 3 phần chính:

  • Câu lệnh khởi tạo: sẽ được thực thi ngay trước khi bắt đầu vòng lặp đầu tiên và chạy duy nhất một lần này.
  • Biểu thức điều kiện: được thực thi trước mỗi vòng lặp (và chạy sau câu lệnh khởi tạo đối với vòng lặp đầu tiên).
  • Câu lệnh sau (post statement): được thực thi sau mỗi vòng lặp kết thúc.

Ngoài ra thì chúng ta còn có các câu lệnh bên trong vòng lặp for: Nếu biểu thức điều kiện ở trên trả về giá trịn True thì các câu lệnh bên trong vòng lặp for sẽ được thực thi. Ngược lại, vòng lặp sẽ kết thúc và chương trình sẽ được tiếp tục bằng việc chạy các câu lệnh phía sau (nếu có).

Ví Dụ Về Vòng Lặp for trong Golang

Chúng ta cùng tham khảo một ví dụ sau đây về cách sử dụng vòng lặp for trong Golang:

package main

import "fmt"

func main() {
    sum := 0
    for i := 0; i < 10; i++ {
        sum += i
    }
    fmt.Println(sum)
}

Với vòng lặp for trên chúng ta bắt đầu bằng câu lệnh khởi tạo gán giá trị cho biến i đếm giá trị ban đầu:

i := 0

Tiếp theo là biểu thức điều kiện so sánh giá trị của biến i với 10:

i < 10

Lưu ý 1: Biến được khai báo trong câu lệnh khởi tạo sẽ chỉ có thể được sử dụng trong phạm vi của vòng lặp.

Điều này có nghĩa với vòng lặp for ở trên chúng ta chỉ có thể sử dụng giá trị của biến i trong phạm vi của vòng lặp.

Lưu ý 2: Khác với các ngôn ngữ lập trình khác như PHP hay JavaScript, trong Golang chúng ta không sử dụng cặp dấu ngoặc ( ) để bao xung quanh 3 thànhh phần của câu lệnh for.

Tương tự với PHP và JavaScript thì trong vòng lặp for của Golang thì các câu lệnh được thực thi trong mỗi vòng lặp bắt buộc phải được bao bọc quyanh cặp dấu ngoặc { }.

Câu Lệnh Khởi Tạo và Câu Lệnh Sau

Câu lệnh khởi tạo và/hoặc câu lệnh sau có thể không cần thiết và có thể được bỏ trống trong vòng lặp for của Golang:

sum := 1

for ; sum < 1000; {
    sum += sum
}

Trong đoạn code phía trên đây, chúng ta sử dụng giá trị của biến sum trong biểu thức điều kiện và biến này đã được khởi tạo ở ngoài vòng lặp for do đó chúng ta sẽ để trống biểu thức khởi tạo.

Ngoài ra, ở vòng lặp trên chúng ta cũng bỏ qua câu lệnh sau (post statement).

Vòng Lặp while

Golang không cung cấp cho chúng ta vòng lặp while tuy nhiên for có thể được sử dụng giống như while:

sum := 1
for sum < 1000 {
    sum += sum
}
Nội dung không được để trống

Hướng Dẫn Liên Quan