Đi - Phạm vi
Các range từ khóa được sử dụng trong forvòng lặp để lặp lại các mục của một mảng, lát cắ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 | a [i] E |
Loại chuỗi chuỗi s | chỉ mục tôi int | rune int |
map m map [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