ลูป for: รูปแบบทั้งหมด
ลูปแบบดั้งเดิม แบบ while แบบไม่สิ้นสุด และแบบ range
ลูป for: รูปแบบทั้งหมด เป็นบทเรียน Go Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Go Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Go Academy มีบทเรียนทั้งหมด 4 บทเรียน
Go มีลูปเพียงแบบเดียว
Go มีลูป for เพียงแบบเดียว — ไม่มี while และไม่มี do-while คีย์เวิร์ด for รองรับรูปแบบการวนซ้ำทั้งหมดผ่านรูปแบบต่าง ๆ
ลูป for แบบคลาสสิกสไตล์ C
ลูปแบบสามส่วนตามธรรมเนียม:
for i := 0; i < 5; i++ {
fmt.Println(i)
}ลูปสไตล์ while
ละเว้นส่วนเริ่มต้นและส่วนหลังเพื่อสร้างลูปที่ทำงานคล้าย while:
n := 1
for n < 100 {
n *= 2
}ลูปไม่สิ้นสุด
ละเว้นทุกส่วนเพื่อสร้างลูปไม่สิ้นสุด (ต้องใช้ break หรือ return เพื่อออกจากลูป):
for {
msg := receive()
if msg == "quit" {
break
}
process(msg)
}การใช้ range กับสไลซ์
range จะวนซ้ำผ่านสไลซ์ โดยคืนค่าดัชนีและค่า:
fruits := []string{"apple", "banana", "cherry"}
for i, fruit := range fruits {
fmt.Printf("%d: %s\n", i, fruit)
}การใช้ range กับแมป
range ที่ใช้กับแมปจะคืนค่าคู่คีย์-ค่า (ลำดับการวนซ้ำเป็นแบบสุ่ม):
scores := map[string]int{"Alice": 90, "Bob": 85}
for name, score := range scores {
fmt.Printf("%s: %d\n", name, score)
}การใช้ range กับสตริง
การวนซ้ำผ่านสตริงจะให้ค่ารูน (จุดรหัสยูนิโค้ด) ไม่ใช่ไบต์:
for i, r := range "Go!" {
fmt.Printf("index %d: %c\n", i, r)
}การใช้ range กับแชนเนล
การใช้ range กับแชนเนลจะอ่านค่าจนกว่าแชนเนลจะถูกปิด:
ch := make(chan int, 3)
ch <- 1; ch <- 2; ch <- 3
close(ch)
for v := range ch {
fmt.Println(v)
}break และ continue
break จะออกจากลูปชั้นในสุด ส่วน continue จะข้ามไปยังการวนซ้ำถัดไป:
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // skip even numbers
}
if i > 7 {
break // stop at 7
}
fmt.Println(i)
}break ที่มีป้ายกำกับ
ป้ายกำกับช่วยให้คุณออกจากลูปภายนอกได้จากภายในลูปภายใน:
outer:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i+j == 3 {
break outer
}
}
}คำถามทบทวน
คุณเขียนลูปไม่สิ้นสุดใน Go อย่างไร
สรุป: ลูป for
ลูป for ของ Go รองรับรูปแบบการวนซ้ำทั้งหมด:
- แบบคลาสสิก:
for i := 0; i < n; i++ - สไตล์ while:
for condition - แบบไม่สิ้นสุด:
for {} - แบบ range: ใช้กับสไลซ์ แมป สตริง และแชนเนล
break/continueพร้อมป้ายกำกับที่ไม่บังคับสำหรับลูปซ้อนกัน
ถัดไป: คำสั่ง switch ใน Go
คำถามที่พบบ่อย
บทเรียน “ลูป for: รูปแบบทั้งหมด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ลูป for: รูปแบบทั้งหมด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Go Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Go Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ลูป for: รูปแบบทั้งหมด”
ลูปแบบดั้งเดิม แบบ while แบบไม่สิ้นสุด และแบบ range คุณปฏิบัติ Go Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Go Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Go Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ลูป for: รูปแบบทั้งหมด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Go Academy นี้ได้ไหม
ได้ บทเรียน Go Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คำสั่ง if และนิพจน์เริ่มต้น
- ลูป for: รูปแบบทั้งหมด
- คำสั่ง switch ใน Go
- break, continue และป้ายกำกับ