Ngôn ngữ Go chỉ chứa một vòng lặp duy nhất là vòng lặp for. Vòng lặp for là một cấu trúc điều khiển lặp lại cho phép chúng ta viết một vòng lặp được thực thi một số lần cụ thể. Trong ngôn ngữ Go, vòng lặp for này có thể được sử dụng ở các dạng khác nhau và các dạng là:

Điều cần biết về vòng lặp for trong Golang
Vòng lặp for đơn giản trong Golang
Vòng lặp for đơn giản tương tự như những gì chúng ta sử dụng trong các ngôn ngữ lập trình khác như C, C++, Java, C#, v.v.
Cú pháp:
for initialization; condition; post{
       // statements....
}Cụ thể:
Câu lệnh initialization (khởi tạo) là tùy chọn và được thực thi trước khi vòng lặp for bắt đầu. Câu lệnh khởi tạo luôn nằm trong một câu lệnh đơn giản như khai báo biến, câu lệnh tăng hoặc gán hoặc lệnh gọi hàm.
Câu lệnh condition (điều kiện) chứa một biểu thức boolean, được đánh giá khi bắt đầu mỗi lần lặp của vòng lặp. Nếu giá trị của câu lệnh điều kiện là đúng, thì vòng lặp sẽ được thực thi.
Câu lệnh post được thực thi sau phần nội dung của vòng lặp for. Sau câu lệnh post, câu lệnh điều kiện sẽ đánh giá lại nếu giá trị của câu lệnh điều kiện là sai, thì vòng lặp sẽ kết thúc.
Ví dụ:
// Minh họa chương trình Go
// sử dụng vòng lặp for đơn giản
package main 
import "fmt"
// Hàm chính main
func main() { 
	
	// vòng lặp for
	// Vòng lặp này bắt đầu khi i = 0 
	// triển khai cho tới khi điều kiện i<4 condition là đúng
	// lệnh post là i++ 
	for i := 0; i < 4; i++{ 
	fmt.Printf("Quantrimang\n") 
	} 
	
} 
Kết quả:
Quantrimang
Quantrimang
Quantrimang
QuantrimangVòng lặp for cho vòng lặp vô tận
Vòng lặp for cũng được sử dụng như một vòng lặp vô hạn bằng cách xóa cả ba biểu thức khỏi vòng lặp for. Khi người dùng không viết câu lệnh điều kiện trong vòng lặp for, điều đó có nghĩa là câu lệnh điều kiện là đúng và vòng lặp sẽ đi vào vòng lặp vô hạn.
Cú pháp:
for{
     // Statement...
}Ví dụ:
// Chương trình Go minh họa
// cách dùng một vòng lặp vô tận
package main 
import "fmt"
// Hàm chính
func main() { 
	
	// Vòng lặp vô tận
	for { 
	fmt.Printf("Quantrimang\n") 
	} 
	
} 
Kết quả:
Quantrimang
Quantrimang
Quantrimang
Quantrimang
Quantrimang
Quantrimang
Quantrimang
Quantrimang
Quantrimang
Quantrimang
...........Vòng lặp for cho vòng lặp while
Vòng lặp for cũng có thể hoạt động như vòng lặp while. Vòng lặp này được thực thi cho đến khi điều kiện cho là đúng. Khi giá trị của điều kiện cho là sai thì vòng lặp kết thúc.
Cú pháp:
for condition{
    // statement..
}Ví dụ:
// Minh họa chương trình Go
// dùng vòng lặp for cho vòng lặp while
package main 
import "fmt"
// Hàm chính
func main() { 
	
	// vòng lặp while
	// vòng lặp for chạy cho tới khi
	// điều kiện i < 3 là đúng
	i:= 0 
	for i < 3 { 
	i += 2 
	} 
fmt.Println(i) 
} 
Kết quả:
4Phạm vi đơn giản trong vòng lặp for
Bạn cũng có thể sử dụng phạm vi trong vòng lặp for.
Cú pháp:
for i, j:= range rvariable{
   // statement..
}Cụ thể:
- i và j là các biến mà giá trị của vòng lặp được gán vào. Chúng cũng được gọi là biến lặp.
- Biến thứ hai, tức j là tùy chọn.
- Biểu thức phạm vi được đánh giá một lần trước khi bắt đầu vòng lặp.
Ví dụ:
// Chương trình Go minh họa
// cách dùng vòng lặp phạm vi đơn giản
package main 
import "fmt"
// Hàm chính
func main() { 
	
	// Ở đây rvariable là một mảng
	rvariable:= []string{"GFG", "Quan", "Quantrimang"} 
	
	// i và j chứa giá trị của rvariable 
	// i chứa số chỉ mục của từng chuỗi đơn lẻ
	// j chứa chuỗi cá nhân của mảng được cung cấp 
	for i, j:= range rvariable { 
	fmt.Println(i, j) 
	} 
	
} 
Kết quả:
0 GFG
1 Quan
2 QuantrimangDùng vòng lặp for cho chuỗi
Vòng lặp for có thể lặp lại điểm mã Unicode cho một chuỗi.
Cú pháp:
for index, chr:= range str{
     // Statement..
}Ở đây, index là biến lưu trữ byte đầu tiên của điểm mã được mã hóa UTF-8 và chr lưu trữ các ký tự của chuỗi đã cho và str là một chuỗi.
Ví dụ:
// Chương trình Go minh họa
// cách dùng vòng lặp for sử dụng chuỗi
package main 
import "fmt"
// Hàm chính
func main() { 
	
	// Chuỗi là một phạm vi trong vòng lặp for
	for i, j:= range "XabCd" { 
	fmt.Printf("The index number of %U is %d\n", j, i) 
	} 
	
} 
Kết quả:
The index number of U+0058 is 0
The index number of U+0061 is 1
The index number of U+0062 is 2
The index number of U+0043 is 3
The index number of U+0064 is 4For map
Vòng lặp for có thể lặp lại các cặp khóa và giá trị của bản đồ.
Cú pháp:
for key, value := range map { 
     // Statement.. 
}Ví dụ:
// Minh họa chương trình Go
// dùng vòng lặp for cho map
package main 
import "fmt"
// Hàm chính
func main() { 
	
	// dùng map
	mmap := map[int]string{ 
		22:"Quan", 
		33:"GFG", 
		44:"Quantrimang", 
	} 
	for key, value:= range mmap { 
	fmt.Println(key, value) 
	} 
	
} 
Kết quả:
22 Quan
33 GFG
44 QuantrimangFor channel
Vòng lặp for có thể lặp lại các giá trị tuần tự được gửi trên kênh cho đến khi nó đóng lại.
Cú pháp:
for item := range Chnl { 
     // statements..
}Ví dụ:
// Chương trình Go minh họa
// cách dùng lặp for bằng channel 
package main 
import "fmt"
// Hàm chính
func main() { 
	
	// dùng channel 
	chnl := make(chan int) 
	go func(){ 
		chnl <- 100 
		chnl <- 1000 
	chnl <- 10000 
	chnl <- 100000 
	close(chnl) 
	}() 
	for i:= range chnl { 
	fmt.Println(i) 
	} 
	
} 
Kết quả:
100
1000
10000
100000Điểm quan trọng cần ghi nhớ:
- Dấu ngoặc đơn không được sử dụng xung quanh ba câu lệnh của vòng lặp for.
- Dấu ngoặc nhọn là bắt buộc trong vòng lặp for.
- Dấu ngoặc mở phải nằm trên cùng một dòng với câu lệnh post.
- Nếu mảng, chuỗi, lát cắt hoặc bản đồ trống, thì vòng lặp for không đưa ra lỗi và tiếp tục luồng của nó. Hay nói cách khác, nếu mảng, chuỗi, lát cắt hoặc bản đồ là nil thì số lần lặp của vòng lặp for là 0.
 Học IT
 Học IT  
  
  
  
  
  
  
  
  
 










 Công nghệ
 Công nghệ  Nền tảng Web
 Nền tảng Web  Microsoft Word 2013
 Microsoft Word 2013  Microsoft Word 2007
 Microsoft Word 2007  Microsoft Excel 2019
 Microsoft Excel 2019  Microsoft Excel 2016
 Microsoft Excel 2016  Microsoft PowerPoint 2019
 Microsoft PowerPoint 2019  Microsoft PowerPoint 2016
 Microsoft PowerPoint 2016  Google Sheets
 Google Sheets  Học Python
 Học Python  HTML
 HTML  Lập trình Scratch
 Lập trình Scratch  CSS và CSS3
 CSS và CSS3  Lập trình C
 Lập trình C  Lập trình C++
 Lập trình C++  Lập trình C#
 Lập trình C#  Học PHP
 Học PHP  Bootstrap
 Bootstrap  SQL Server
 SQL Server  JavaScript
 JavaScript  Unix/Linux
 Unix/Linux  Khoa học vui
 Khoa học vui  Khám phá khoa học
 Khám phá khoa học  Bí ẩn - Chuyện lạ
 Bí ẩn - Chuyện lạ  Sức khỏe
 Sức khỏe  Vũ trụ
 Vũ trụ  Khám phá thiên nhiên
 Khám phá thiên nhiên  Bảo vệ Môi trường
 Bảo vệ Môi trường  Phát minh Khoa học
 Phát minh Khoa học  Tết 2025
 Tết 2025  Video
 Video  Hướng dẫn
 Hướng dẫn  Công nghệ
 Công nghệ  Khoa học
 Khoa học  Ô tô, Xe máy
 Ô tô, Xe máy  Tổng hợp
 Tổng hợp