GO语言数组
GO语言数组:
数组是Go语言编程中最常用的数据结构之一。顾名思义,数组就是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。
在Go语言中数组是一个值类型(value type)。是真真实实的数组,而不是一个指向数组内存起始位置的指针,也不能和同类型的指针进行转化,这一点严重不同于C语言。所有的值类型变量在赋值和作为参数传递时都将产生一次复制动作。如果将数组作为函数的参数类型,则在函数调用时该参数将发生数据复制。因此,在函数体中无法修改传入的数组的内容,因为函数内操作的只是所传入数组的一个副本
数组的定义方式:
1、[length]Type 2、[N]Type{value1, value2, ... , valueN} 3、[...]Type{value1, value2, ... ,
egg:数组操作定义.......
packagemainimport"fmt"funcmain(){//******第一种创建数组//声明一个数组并赋值vara[3]int=[3]int{1,2,3}fmt.Println(a)//等价的赋值b:=[3]int{1}fmt.Println(b)//***定义一个空的数组varc[5]intfmt.Println(c)//***定义一个省略长度采用"..."的方式,GO自动根据元素个数来计算长度d:=[...]int{1,2,3,4,5,6,7}fmt.Println(d)//进阶定义,对第9个元素(下标为8)赋值1,其他同理e:=[...]int{8:1}fmt.Println(e)//数组的元素是指针,f数组的元素是指向int的指针aa:=1bb:=2f:=[...]*int{&aa,&bb}fmt.Println(f)//指向数组的指针g:=[5]int{1,2,3,4,5}//k是一个指向数组的指针vark*[5]int=&gfmt.Println(k)//数组的比较a1:=[2]int{1,2}a2:=[2]int{1,2}fmt.Println(a1==a2)//通过new返回一个指向数组的指针,做赋值操作l:=new([2]int)fmt.Println(l)l[0],l[1]=11,22fmt.Println(l)//多维数组,二行二列m:=[2][2]int{{1,2},{3,4}}fmt.Println(m)//自动计算多维数组,必须是顶级n:=[...][2]int{{1,2},{3,4},{5,6}}fmt.Println(n)}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。