一个数组是由零个或多个元素组成,因为Go语言中的数组长度是固定的,所以不会之间使用,在Go语言中,和数组对应的类型是Slice(切片),Slice 是可以增长和收缩的动态序列,功能也更灵活。 数组的每个元素可以通过索引下标来访问,索引下标的范围是从0开始到数组长度减1的位置。内置的len函数将返回数组中元素的个数。
一维数组
//一维数组的声明:var 数组变量名 [元素数量]Type
package main
import "fmt"
//定义一个长度为4的数组
var a = [4]int{1, 2, 3, 4}
//...是根据初始化值的个数来定义
//var a = [...]int{1, 2, 3, 4}
//var c = [...]int{4:-1} --> [0,0,0,-1]
func main() {
/*
数组值的修改: 数组变量名[索引] = 修改的值
数组比较:==等于;!=不等
*/
//for循环打印出数组的索引i与值v
for i, v := range a {
fmt.Printf("%d-%d\n", i, v)
}
//for循环打印出数组的值v,_是将其索引丢弃
for _, v := range a {
fmt.Printf("%d\n", v)
}
}
多维数组
//多维数组声明:var array_name [size1][size2]...[sizen] array_type
package main
import (
"fmt"
)
//定义多维数组
//var b [3][3]int = [...][3]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
var b [3][3]int = [3][3]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
func main() {
/*
// 声明一个二维整型数组,两个维度的长度分别是 4 和 2
var array [4][2]int
// 使用数组字面量来声明并初始化一个二维整型数组
array = [4][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}}
// 声明并初始化数组中索引为 1 和 3 的元素
array = [4][2]int{1: {20, 21}, 3: {40, 41}}
// 声明并初始化数组中指定的元素
array = [4][2]int{1: {0: 20}, 3: {1: 41}}
修改数组值
*/
//循环打印多维数组: 数组变量名[索引][索引] = 修改的值
for i, v := range b {
for j, z := range v {
fmt.Printf("%d-%d-%d\n", i, j, z)
}
}
}