Golang基础——数据类型:数组

数组:存储空间连续。

// 数组长度必须是常量
// 索引不能为 -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
", 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)
原文地址:https://www.cnblogs.com/pythonwl/p/14540583.html