一、Go语言数组(array)

声明数组

Go 语言数组声明需要指定元素类型及元素个数,与C/C++不同的是类型放在最后,语法格式如下:
**var 数组变量名 [元素数量]数据类型

  1. var array [5]int //声明array是5个元素的int类型数组

初始化数组

  1. /*var声明数组初始化值*/
  2. var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
  3. /*:=声明数组初始化值*/
  4. vbalance := [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
  5. /*[...]编译器根据初始值数量自动计算数组元素大小*/
  6. var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

上面声明5个元素的数组并初始化值。数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。
Go语言容器 - 图1

遍历数组

  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func main() {
  6. array3:=[...]int{1,2,3,4,5,6} //编译器自动计算元素长度
  7. fmt.Println(array3)
  8. /*len函数遍历每个数组元素的值*/
  9. for i:=0; i<len(array3); i++ {
  10. //len函数获取数组下标长度 类似python的len()
  11. fmt.Printf("element[%d]:%d\n",i,array3[i])
  12. }
  13. /*range关键字遍历每个数组元素的值*/
  14. for k,v:=range array3 {
  15. /*
  16. range关键字依次获取数组的下标k和值v,使用k,v接收
  17. 只打印v,将k改成_
  18. */
  19. fmt.Printf("element[%d]:%d\n",k,v)
  20. }

  • range关键字会返回数组下标和值使用k,v接收,只打印v可通过省略变量 如 for ,v :=range array3
  • 如果只要下标,可以写成 for i := range array3

多维数组

二、Go语言切片(slice)