经过今天的学习越来越发现go语言的好玩之处了,但也需经过练习。
数组是同种数据类型的集合,数组的大小不可变
1、数组的定义和初始化
// 定义空数组
var a1 [3]bool
fmt.Printf("%T\n", a1)
// 定义并初始化数组
a1 = [3]bool{true, true, false}
fmt.Println(a1)
// 推断数组长度
a2 := [...]int{1, 2, 3, 4, 5, 6}
fmt.Println(a2)
// 根据索引初始化数组
a3 := [10]int{0: 2, 4: 5}
fmt.Println(a3)
2、数组的遍历
数组遍历使用for和for range;代码如下:
// 1、for循环遍历
citys := [3]string{"呼市", "上海", "北京"}
for i := 0; i < len(citys); i++ {
fmt.Println(citys[i])
}
// 2、for range 遍历
for _, v := range citys {
fmt.Println(v)
}
3、多维数组
a11 := [...][2]string{
{"北", "上"},
{"广", "深"},
{"呼", "包"},
}
fmt.Println(a11)
fmt.Println(a11[1][1])
4、多维数组遍历
// 多维数组遍历
for _, v := range a11 {
fmt.Println(v)
}
// 元素遍历
for _, v1 := range a11 {
for _, v2 := range v1 {
fmt.Println(v2)
}
}
5、数组其他注意事项
数组1=数组2;改变数组1或者数组的某一个值,互相没有影响
// 数组是值类型
d1 := [...]int{1, 2, 3, 4}
fmt.Println(d1)
d2 := d1
fmt.Println(d1)
d1[3] = 101
fmt.Println(d1)
fmt.Println(d2)
d2[2] = 100
fmt.Println(d2)