go语言数组使用

数组定义

定义方式1

func main() {
	var emptyArrWithDefaultEle [3]int // 定义大小为3的空数组
	var emptyArr []int				  // 定义大小为0的空数组
	fmt.Println("打印emptyArrWithDefaultEle: ", emptyArrWithDefaultEle)
	fmt.Println("打印emptyArr:", emptyArr)
}

输出如下

打印emptyArrWithDefaultEle:  [0 0 0]
打印emptyArr: []

定义方式2

func main() {
	arr1 := [...]int{1,2,3} 
	arr2 := [...]int{1:12, 2:13, 5:5} // 给下标为1的元素赋值12,下标为2的元素赋值13,下标为5的元素赋值5
	fmt.Println("打印arr1: ", arr1)
	fmt.Println("打印arr2:", arr2)
}

输出如下

打印arr1:  [1 2 3]
打印arr2: [0 12 13 0 0 5]

特殊情况

func main() {
	arr3 := [...]int{1,2,3, 0:6} // 同一个索引不允许重复赋值
    fmt.Println("打印arr3:", arr3)
}

输出如下

duplicate index 0 in array or slice literal

定义方式3

func main() {
	arr := make([]int, 3, 3) // 第一个参数为数组类型,3为数组大小size,6为容量
	arr[0] = 1
	arr[1] = 2
	arr[2] = 3
	fmt.Println("打印数组arr:", arr)
	arr = append(arr, 4) // append为数组追加,会自动扩容
	arr = append(arr, 5)
	arr = append(arr, 6)
	fmt.Println("打印数组arr:", arr)
}

数组遍历

遍历方式1

在go中,如果定义了变量不使用,编译不会通过,可以使用 “_” 代替

func main() {
	arr := [...]int{5,4,3,2,1}
	// index是下标,value是元素值
	for index, value := range arr {
		fmt.Println("index=", index, "value=",value)
	}
	// 只打印下标
	for index := range arr {
		fmt.Println("index=", index)
	}
	// 只打印元素值
	for _, value := range arr {
		fmt.Println("value=", value)
	}
}

输出

index= 0 value= 5
index= 1 value= 4
index= 2 value= 3
index= 3 value= 2
index= 4 value= 1
index= 0
index= 1
index= 2
index= 3
index= 4
value= 5
value= 4
value= 3
value= 2
value= 1```

遍历方式2

func main() {
 	arr := [...]int{1,2,3}
	for i := 0;i < len(arr);i++ {
		fmt.Println("index:", i, "value:", arr[i])
	}
}

输出

index: 0 value: 1
index: 1 value: 2
index: 2 value: 3

相关推荐

  1. go语言数组使用

    2024-03-13 10:20:02       19 阅读
  2. Go语言协程使用

    2024-03-13 10:20:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-13 10:20:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-13 10:20:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-13 10:20:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-13 10:20:02       20 阅读

热门阅读

  1. 计算机网络 TCP协议的流量控制

    2024-03-13 10:20:02       21 阅读
  2. 软考笔记--层次式架构之中间层架构设计

    2024-03-13 10:20:02       21 阅读
  3. 数据结构——KMP

    2024-03-13 10:20:02       24 阅读
  4. c# DbHelper的封装

    2024-03-13 10:20:02       24 阅读
  5. 比特币如何运作?区块链、网络、交易

    2024-03-13 10:20:02       31 阅读
  6. 华为OD机试真题-5G网络建设

    2024-03-13 10:20:02       19 阅读
  7. list排序根据某个字段去重

    2024-03-13 10:20:02       17 阅读
  8. vsto快速在excel中查找某个字符串

    2024-03-13 10:20:02       19 阅读
  9. C++通过循环删除字典中的元素及UB

    2024-03-13 10:20:02       18 阅读
  10. ·xss文件上传漏洞

    2024-03-13 10:20:02       20 阅读
  11. 在 debian 虚拟机里如何设置 iso 文件为本地安装源

    2024-03-13 10:20:02       22 阅读