数组:存储空间连续。
// 数组长度必须是常量
// 索引不能为 -1
// 数组传参是值传递
var a [10]int // 定义一个整形数组
a[0] = 11 // 赋值
fmt.Println(a[0])
var b [5]int = [5]int{1, 2, 33, 4, 5}
fmt.Println(b)
var c = [5]int{1, 2, 3, 4, 5}
fmt.Println(c)
d := [5]int{1, 2, 4}
fmt.Println(d)
e := [5]int{3: 4, 2: 1} // 指定2,3位置的元素值
fmt.Println(e)
f := [...]int{1, 2, 3, 4, 5} // 通过元素数量初始化长度
fmt.Println(f)
fmt.Printf("%T\n", f)
11
[1 2 33 4 5]
[1 2 3 4 5]
[1 2 4 0 0]
[0 0 1 4 0]
[1 2 3 4 5]
[5]int
var aa = [10]int{1, 2, 31, 4, 25, 6, 37, 8, 59, 10}
min_num := aa[0]
max_num := aa[0]
sum := 0
for _, num := range aa {
if num < min_num {
min_num = num
}
if num > max_num {
max_num = num
}
sum += num
}
fmt.Println("最小值:", min_num)
fmt.Println("最大值:", max_num)
fmt.Println("平均值:", sum/len(aa))
// 冒泡排序
for j := 0; j < len(aa)-1; j++ {
for i := 0; i < len(aa)-j-1; i++ {
if aa[i] > aa[i+1] {
aa[i], aa[i+1] = aa[i+1], aa[i]
}
}
}
fmt.Println(aa)
二维数组:
var avc [2][3]int // 二维数组:2行3列
fmt.Println(avc)
ccc := [2][3]int{{2, 3, 5}, {2, 3, 4}}
fmt.Println(ccc)