
- Go 教程
- Go - 主頁
- Go - 概述
- Go - 環境設定
- Go - 程式結構
- Go - 基本語法
- Go - 資料型別
- Go - 變數
- Go - 常量
- Go - 運算子
- Go - 決策
- Go - 迴圈
- Go - 函式
- Go - 作用域規則
- Go - 字串
- Go - 陣列
- Go - 指標
- Go - 結構
- Go - 切片
- Go - 範圍
- Go - 對映
- Go - 遞迴
- Go - 型別轉換
- Go - 介面
- Go - 錯誤處理
- Go 實用資源
- Go - 問題與解答
- Go - 快速指南
- Go - 實用資源
- Go - 討論
Go - 範圍
range 關鍵字用於 for 迴圈,用於迭代陣列、切片、通道或對映中的項。對於陣列和切片,它返回該項的索引,型別為整數。對於對映,它返回下一對鍵值對的鍵。Range 既返回一個值,也返回兩個值。如果僅在一個 range 表示式的左側使用一個值,它就是下表中的第 1 個值。
Range 表示式 | 第 1 個值 | 第 2 個值(可選) |
---|---|---|
陣列或切片 a [n]E | 索引 i int | a[i] E |
字串 s string 型別 | 索引 i int | 符文 int |
對映 m map[K]V | 鍵 k K | 值 m[k] V |
通道 c chan E | 元素 e E | 無 |
示例
以下段落展示瞭如何使用 range −
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
廣告