GO语言学习:数组

定义一个数组

var 数组变量名 [元素数量]元素类型


    var a [3]int 
    

定义一个int数组 长度为 3


	fmt.Println(a)
	

输出结果为 [0 0 0]
在声明数组时,如果没有对数组进行赋值 则会为该类型的默认值
int 类型为 0 string类型为 “”

在定义的时候赋值

	 var a = [3]int{1,2,3} //长度为三
	 
其他的定义方式

	var a =[...]int{1,2,3,4} 
	

使用 …声明数组 程序会自动判断后面的元素,来确定数组的长度


	var a = [...]int{1:1,3:9}	
	fmt.Println(a)
	

输出结果为 [0 1 0 9]
此方式是使用索引方式在声明的时候对元素赋值,没有被赋值的元素为默认值
长度为最大索引值

	var a  [3]int
	a[0] =1
	a[1] =2
	a[2] =3

声明之后再给元素赋值

数组的特点
数组的长度是常量 所以数组的长度是不可变的
不同类型、不同长度的数组 不可以相互赋值
数组是值类型(拷贝传递)
数组的遍历
for 循环遍历

	var a = [3]int{1,2,3}
	for i := 0; i < len(a); i++ {
		fmt.Println(a[i])
	}
	
for range 遍历

	var a = [3]int{1,2,3}
	for i,v:= range a {
		fmt.Println(i,":",v)
	}
	

i 是下标 v 是元素


	var a = [3]int{1,2,3}
	for _,v:= range a {
		fmt.Println(v)
	}
	

如果不想要下标 可以用匿名变量接收

二维数组
声明

   var  a =[2][2]string{
   	{"河南","郑州"},
   	{"浙江","杭州"},
   }
   fmt.Println(a)
   

定义一个 两行两列的string数组

二维数组的遍历
for循环遍历

		for i := 0; i < len(a); i++ {
		for x := 0; x < len(a[i]); x++ {
			fmt.Println(a[i][x])
		}
	}
	
for range遍历

		for _, v := range a {
			for _, x := range v {
				fmt.Println(x)
			}
		}
		
发布了8 篇原创文章 · 获赞 1 · 访问量 1049

猜你喜欢

转载自blog.csdn.net/ZHOUAXING/article/details/105010142