企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 声明数组 > **var 数组变量名 [数组长度]元素类型, 例如 var student [3]string** ``` package main import "fmt" func main() { var student [3]string fmt.Println(student) // 数组未赋值 打印为空数组 // [ ] } ``` ### 初始化数组 > **var student = [2]string{"Tom","Ben"}** > **var student = [...]string{"Tom","Ben","Peter"}** ``` package main import "fmt" func main() { var student = [...]string{"Tom", "Ben", "Peter"} var student2 = [2]string{"Tom", "Ben"} //元素数量需与数组长度保持一致 fmt.Println(student2) //[Tom Ben] fmt.Println(student) // [Tom Ben Peter] fmt.Println(student[1]) // Ben } ``` ### range关键字 > **对数组 切片 或者映射等数据结构进行迭代,range后面接的是range表达式(数组num),迭代时,会返回两个值,k就是表达式的索引,v就是表达式的副本** ``` package main import "fmt" func main() { var num = [...]int{1, 2, 3, 4} fmt.Println(num) for k, v := range num { fmt.Println("变量k:", k, " ", "变量v:", v) } } // k 就是range生成的长度为4的数组 [0,1,2,3], num的索引 // v 就是 num 里面 的 [1 2 3 4],num的元素 结果: [1 2 3 4] 变量k: 0   变量v: 1 变量k: 1   变量v: 2 变量k: 2   变量v: 3 变量k: 3   变量v: 4 ``` | range表达式 | 第一返回值 | 第二返回值 | | --- | --- |--- | | 数组 | 元素下标 | 元素值 | | 切片 | 元素下标 | 元素值 | | 映射 | 键 | 值 | | 通道 | 元素 | N/A| ### 遍历数组 ``` package main import "fmt" func main() { var student = [...]string{"Tom", "Ben", "Peter"} for k, v := range student { fmt.Println("下标:", k, " ", "对应元素:", v) } } 结果: 下标: 0   对应元素: Tom 下标: 1   对应元素: Ben 下标: 2   对应元素: Peter ```