为了账号安全,请及时绑定邮箱和手机立即绑定

GO语言数组

标签:
Go

GO语言数组:     

数组是Go语言编程中最常用的数据结构之一。顾名思义,数组就是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。

        在Go语言中数组是一个值类型(value type)。是真真实实的数组,而不是一个指向数组内存起始位置的指针,也不能和同类型的指针进行转化,这一点严重不同于C语言。所有的值类型变量在赋值和作为参数传递时都将产生一次复制动作。如果将数组作为函数的参数类型,则在函数调用时该参数将发生数据复制。因此,在函数体中无法修改传入的数组的内容,因为函数内操作的只是所传入数组的一个副本

数组的定义方式:

1、[length]Type 2、[N]Type{value1, value2, ... , valueN} 3、[...]Type{value1, value2, ... , 

egg:数组操作定义.......

package mainimport "fmt"func main() {    //******第一种创建数组    //声明一个数组并赋值    var a [3]int = [3]int{1, 2, 3}    fmt.Println(a)    //等价的赋值    b := [3]int{1}    fmt.Println(b)    //***定义一个空的数组    var c [5]int    fmt.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 := 1    bb := 2    f := [...]*int{&aa, &bb}    fmt.Println(f)    //指向数组的指针    g := [5]int{1, 2, 3, 4, 5}    //k是一个指向数组的指针    var k *[5]int = &g    fmt.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, 22    fmt.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)}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消