Các phạm vi từ khóa được sử dụng trong vì vòng lặp để lặp lại các mục của một mảng, lát, kênh hoặc bản đồ. Với mảng và lát, nó trả về chỉ số của mục dưới dạng số nguyên. Với bản đồ, nó trả về khóa của cặp khóa-giá trị tiếp theo. Phạm vi trả về một hoặc hai giá trị. Nếu chỉ có một giá trị được sử dụng ở bên trái của biểu thức phạm vi, thì đó là giá trị đầu tiên trong bảng sau.
Biểu thức phạm vi | Giá trị đầu tiên | Giá trị thứ 2 (Tùy chọn) |
---|---|---|
Mảng hoặc lát cắt a [n]E | chỉ mục tôi int | một[i] E |
String s loại chuỗi | chỉ mục tôi int | rune int |
bản đồ m bản đồ[K]V | phím k K | giá trị m[k] V |
kênh c chan E | phần tử e E | không ai |
Thí dụ
Đoạn văn sau đây trình bày cách sử dụng phạm vi –
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) } }
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
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