package main
import (
"fmt"
)
//var 数组变量名 [元素数量]Type
func main() {
//声明数组并初始化
//var arr=[10]int{1,2,3,4,5,6,7,8,9,10}
//"...":数组的长度是根据初始化值的个数来计算
var arr=[...]int{1,2,3,4,5,6,7,8,9,10}
//打印数组的第一个元素
fmt.Println(arr[0])//1
//打印数组的最后一个元素
fmt.Println(arr[len(arr)-1])//10
//遍历数组的索引和元素
for i,v:=range arr {
fmt.Printf("%d : %d ", i, v)
} //0 : 1 1 : 2 2 : 3 3 : 4 4 : 5 5 : 6 6 : 7 7 : 8 8 : 9 9 : 10
//遍历数组的元素
for _,v:=range arr{
fmt.Printf("%d ",v)
} //1 2 3 4 5 6 7 8 9 10
diff()
yied()
//多维数组
array()
}
//比较两个数组是否相等
func diff() {
a:=[2]int{1,2}
b:=[...]int{1,2}
c:=[2]int{1,3}
fmt.Println(a==b,a==c,b==c) // true flase flase
}
//遍历数组的每个元素
func yied() {
var list[3]string
list[0]="H"
list[1]="R"
list[2]="P"
for k,v:=range list{
fmt.Println(k,v)//0 H 1 R 2 P
}
}
//多维数组
func array() {
//声明一个二维整型数组,两个维度的长度分别是 4 和 2
var array[4][2]int
fmt.Println(array) //[[0 0] [0 0] [0 0] [0 0]]
//声明并初始化一个二维数组
array=[4][2]int{{1,2},{3,4},{5,6},{7,8}}
fmt.Println(array) //[[1 2] [3 4] [5 6] [7 8]]
//声明并初始化数组只能够索引为1和3的元素
array=[4][2]int{1:{3,4},3:{7,8}}
fmt.Println(array) //[[0 0] [3 4] [0 0] [7 8]]
//声明并初始化数组中指定的元素
array=[4][2]int{1:{0:3},3:{1:7}}
fmt.Println(array) //[[0 0] [3 0] [0 0] [0 7]]
// 给二维数组每个元素赋值
//声明一个4x2的二维数组
var array1[4][2]int
//设置每个元素的值
array1[0][0]=1
array1[3][1]=2
fmt.Println(array1) //[[1 0] [0 0] [0 0] [0 2]]
//同样类型的多维数组赋值
var array2[4][2]int
//将array1的值赋值array2
array2=array1
fmt.Println(array2) //[[1 0] [0 0] [0 0] [0 2]]
//使用索引为多维数组赋值
//将array2的索引为0的维度(取出来的为一维数组)复制到同类型的新数组里
var array3[2]int=array2[0]
fmt.Println(array3) //[1 0]
}
Go的数组
最新推荐文章于 2022-09-04 21:00:30 发布