数组
数组是同一类型元素的集合。在Go语言中,数组从声明时就确定,使用时可以修改的数组成员,但是数组大小不可变化。基本语法:
// var 数组变量名 [元素数量]T
var a [3]int
数组的初始化,如果不初始化将变为默认值(布尔:false、整数和浮点: 0、字符串: “”)
a1 = [3]bool{true,true,true};
fmt.Println(a1); // [true,true,true]
根据初始值来判断数组长度多少
a2 := [...]int{0,20,3};
根据索引初始化
a3 := [5]int{0:1,4:2};
遍历
根据索引遍历
city := [...]string{"北京","上海","深圳"};
for i := 0; i < len(city); i++{
fmt.Println(city[i])
}
根据 for range
遍历
for _,v := range city{
fmt.Println(v);
}
多维数组
基本语法定义;
var a [3][2]int
a = [3][2]int{
[2]int{1,2},
[2]int{3,4},
[2]int{5,6},
}
fmt.Println(a);
多维数组的遍历
var a [3][2]int
a = [3][2]int{
[2]int{1,2},
[2]int{3,4},
[2]int{5,6},
}
for _,v1 := range a{
for _,v2 := range v1{
fmt.Println(v2); // 1 2 3 4 5 6
}
}
数组修改值
b1 := [...]int{1,2,3};
b2 := b1;
b2[0] = 100;
fmt.Println(b1,b2); // [1,2,3] [100,2,3]
由于在go
中数组是值类型,因此数组支持==
、!=
操作符,数组长度也是数组值得一部分
fmt.Println(b1==b2); // false
b2[0] = 1;
fmt.Println(b1==b2); // true