位置:首頁 > 高級語言 > Go語言教學 > Go語言範圍

Go語言範圍

range關鍵字用於循環遍曆數組,切片,管道或映射項目。數組和切片,它返回項目作為整數的索引。映射返回下一個鍵 - 值對的鍵。無論是範圍返回一個或兩個值。如果隻有一個值被用於在一係列表達式的左側,它是下表中的第一值。

範圍表達式 第一個值 第二個值(Optional)
數組或切片 a [n]E index i int a[i] E
String s 字符串類型 index i int rune int
map m map[K]V key k K value m[k] V
channel c chan E element e E none

例子

下麵是一個例子:

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*/
   coutryCapitalMap := 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