Go - Vòng lặp: Chinh phục khái niệm lặp trong lập trình

Xin chào, các bạn có chí hướng lập trình! Hôm nay, chúng ta sẽ cùng nhau tìm hiểu một trong những khái niệm cơ bản nhất trong lập trình: vòng lặp. Như một người giáo viên khoa học máy tính hàng xóm thân thiện, tôi rất vui mừng được hướng dẫn các bạn qua thế giới kỳ diệu của vòng lặp Go. tin tôi đi, đến cuối bài hướng dẫn này, bạn sẽ lặp như một chuyên gia!

Go - Loops

Vòng lặp là gì?

Trước khi chúng ta nhảy vào chi tiết, hãy hiểu về vòng lặp. Hãy tưởng tượng bạn được giao nhiệm vụ viết "Tôi yêu lập trình" 100 lần. nhàm chán phải không? Đó là lúc vòng lặp phát huy tác dụng! Chúng cho phép chúng ta lặp lại một bộ hướng dẫn nhiều lần mà không cần viết cùng một mã nhiều lần.

Các loại vòng lặp trong Go

Go cung cấp ba loại vòng lặp chính:

  1. Vòng lặp For
  2. Vòng lặp While (thực hiện bằng cách sử dụng for)
  3. Vòng lặp dựa trên Range

Hãy cùng khám phá từng loại này chi tiết.

1. Vòng lặp For cổ điển

Vòng lặp For là loại vòng lặp phổ biến nhất trong Go. Nó giống như một cây kéo đa năng - linh hoạt và mạnh mẽ.

package main

import "fmt"

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

Trong ví dụ này:

  • i := 0 khởi tạo biến vòng lặp
  • i < 5 là điều kiện được kiểm tra trước mỗi lần lặp
  • i++ được thực hiện sau mỗi lần lặp

Kết quả đầu ra:

Iteration: 0
Iteration: 1
Iteration: 2
Iteration: 3
Iteration: 4

2. Vòng lặp While (Kiểu Go)

Go không có từ khóa while, nhưng chúng ta có thể sử dụng vòng lặp for để đạt được kết quả tương tự. Nó giống như mặc một áo sơ mi tuxedo - chính thức là vòng lặp for, nhưng chức năng như một vòng lặp while!

package main

import "fmt"

func main() {
count := 0
for count < 3 {
fmt.Println("Count is:", count)
count++
}
}

Ở đây, vòng lặp tiếp tục miễn là count < 3 là đúng.

Kết quả đầu ra:

Count is: 0
Count is: 1
Count is: 2

3. Vòng lặp dựa trên Range

Đây là loại vòng lặp yêu thích của tôi - nó giống như có một GPS cho cấu trúc dữ liệu của bạn. Nó hoàn hảo cho việc lặp qua mảng, slice, map, và nhiều hơn nữa.

package main

import "fmt"

func main() {
fruits := []string{"apple", "banana", "cherry"}
for index, fruit := range fruits {
fmt.Printf("Fruit at index %d is %s\n", index, fruit)
}
}

Vòng lặp này tự động lặp qua slice fruits, cung cấp cả chỉ số và giá trị trong mỗi lần lặp.

Kết quả đầu ra:

Fruit at index 0 is apple
Fruit at index 1 is banana
Fruit at index 2 is cherry

Câu lệnh điều khiển vòng lặp

Bây giờ chúng ta đã nắm vững cơ bản, hãy thêm một chút gia vị vào vòng lặp của chúng ta với các câu lệnh điều khiển. Đây giống như DJ của thế giới lập trình - chúng kiểm soát luồng của buổi tiệc vòng lặp của chúng ta!

Câu lệnh Break

Câu lệnh break giống như nhấn nút dừng khẩn cấp. Nó ngay lập tức kết thúc vòng lặp.

package main

import "fmt"

func main() {
for i := 0; i < 10; i++ {
if i == 5 {
fmt.Println("We hit 5! Time to break!")
break
}
fmt.Println("Current number:", i)
}
}

Vòng lặp này sẽ dừng ngay khi i đạt 5.

Kết quả đầu ra:

Current number: 0
Current number: 1
Current number: 2
Current number: 3
Current number: 4
We hit 5! Time to break!

Câu lệnh Continue

Câu lệnh continue giống như bỏ qua một bài hát bạn không thích. Nó nhảy đến lần lặp tiếp theo của vòng lặp.

package main

import "fmt"

func main() {
for i := 0; i < 5; i++ {
if i == 2 {
fmt.Println("Skipping 2!")
continue
}
fmt.Println("Current number:", i)
}
}

Vòng lặp này sẽ bỏ qua việc in khi i là 2.

Kết quả đầu ra:

Current number: 0
Current number: 1
Skipping 2!
Current number: 3
Current number: 4

Vòng lặp vô hạn

Cuối cùng, hãy nói về vòng lặp vô danh. Nó giống như bài hát đó không bao giờ kết thúc - nó tiếp tục và tiếp tục除非 bạn nói dừng lại.

package main

import (
"fmt"
"time"
)

func main() {
count := 0
for {
fmt.Println("This is iteration:", count)
count++
time.Sleep(time.Second)
if count == 5 {
fmt.Println("Okay, that's enough!")
break
}
}
}

Vòng lặp này sẽ chạy mãi mãi除非 chúng ta dừng nó. Trong trường hợp này, chúng ta dừng sau 5 lần lặp.

Kết quả đầu ra:

This is iteration: 0
This is iteration: 1
This is iteration: 2
This is iteration: 3
This is iteration: 4
Okay, that's enough!

Bảng tóm tắt phương thức vòng lặp

Dưới đây là bảng tóm tắt các phương thức vòng lặp chúng ta đã xem xét:

Phương thức Mô tả Ví dụ
Vòng lặp For Vòng lặp chuẩn với khởi tạo, điều kiện và câu lệnh sau for i := 0; i < 5; i++ { ... }
Vòng lặp While-style Vòng lặp chạy miễn là điều kiện là đúng for count < 3 { ... }
Vòng lặp dựa trên Range Vòng lặp cho việc lặp qua mảng, slice, map, v.v. for index, value := range collection { ... }
Vòng lặp vô hạn Vòng lặp chạy mãi mãi除非 bị dừng for { ... }

Và đó là tất cả, các bạn! Bạn đã chính thức bước vào thế giới vòng lặp của lập trình Go. Nhớ rằng, thực hành làm nên完美, vì vậy đừng ngại thử nghiệm với các khái niệm này. Chúc các bạn may mắn và hy vọng vòng lặp của bạn luôn kết thúc khi bạn muốn!

Credits: Image by storyset