for loop

เรื่องการทำงานวนซ้ำสำหรับภาษา Go นั้นมี keyword หลักตัวเดียวนั้นคือ for ที่ทำหน้าที่วนซ้ำ ถ้าใครเคยใช้ภาษาในลักษณะ C มาก่อนน่าจะเข้าใจ รูปแบบการใช้งานเช่น

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

จะเห็นว่าคล้ายกับ C นั่นล่ะ แต่ไม่ต้องมีวงเล็บเปิดปิด

ต่อมา ถ้าจะใช้งานในลักษณะเดียวกันแบบ while ของ C ทำได้เช่นกันดังนี้


i := 0
for i < 10 {
    fmt.Println(i)
    i++
}

ถ้าเกิดต้องการวนซ้ำแบบไม่ต้องมีเงื่อนไขอะไรตรง for เลยทำได้ดังนี้


for {
}

นอกจากนั้น ถ้าเป็นการวนซ้ำในข้อมูลแบบ array, slice, หรือ map สามารถใช้ keyword range ช่วยเพื่อกำหนดค่า index หรือ key และ value ที่อยู่ภายในโครงสร้างข้อมูลที่ว่ามา ในแต่ละรอบของ for ได้ ซึ่ง for ก็จะวนจนครบทุกข้อมูลที่อยู่ภายใน เช่น


a := []int { 1, 2, 3}

for index, value := range a {
}

m := map[string]string {
    "a" : "10",
    "b" : "20",
}

for key, value := range m {
}

One response

Comments are closed.