ไป - ช่วง

range ใช้คำหลักใน forวนซ้ำเพื่อวนซ้ำรายการของอาร์เรย์สไลซ์ช่องหรือแผนที่ ด้วยอาร์เรย์และชิ้นส่วนจะส่งกลับดัชนีของรายการเป็นจำนวนเต็ม เมื่อใช้แผนที่จะส่งคืนคีย์ของคู่คีย์ - ค่าถัดไป ช่วงส่งคืนค่าหนึ่งหรือสองค่า หากใช้เพียงค่าเดียวทางด้านซ้ายของนิพจน์ช่วงจะเป็นค่าที่ 1 ในตารางต่อไปนี้

การแสดงออกของช่วง ค่าที่ 1 ค่าที่ 2 (ไม่บังคับ)
Array หรือ slice a [n] E ดัชนีฉัน int ก [i] จ
ประเภทสตริงสตริง s ดัชนีฉัน int รูน int
แผนที่ m แผนที่ [K] V คีย์ k K ค่า m [k] V
ช่อง c chan E องค์ประกอบ e E ไม่มี

ตัวอย่าง

ย่อหน้าต่อไปนี้แสดงวิธีใช้ช่วง -

package main

import "fmt"

func main() {
   /* create a slice */
   numbers := []int{0,1,2,3,4,5,6,7,8} 
   
   /* print the numbers */
   for i:= range numbers {
      fmt.Println("Slice item",i,"is",numbers[i])
   }
   
   /* create a map*/
   countryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo"}
   
   /* print map using keys*/
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
   
   /* print map using key-value*/
   for country,capital := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",capital)
   }
}

เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Slice item 0 is 0
Slice item 1 is 1
Slice item 2 is 2
Slice item 3 is 3
Slice item 4 is 4
Slice item 5 is 5
Slice item 6 is 6
Slice item 7 is 7
Slice item 8 is 8
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo