首页 > 编程语言 > 详细

golang之数组与切片

时间:2019-11-08 00:31:55      阅读:86      评论:0      收藏:0      [点我收藏+]

数组

数组可以存放多个同一类型数据,数组也是一种数据类型,在Go中,数组是值类型。

数组的定义:

  var 数组名 [数组大小]数据类型

  var a [5]int

  赋初值   a[0] = 1    a[1] = 30 ....

数组在内在布局

技术分享图片

 

 总结:

  1)数组的地址可以通过数组名来获取 &intArr

  2)数组的第一个元素的地址,就是数组的首地址

  3)数组的各个元素的地址间隔是依据数组的类型决定,比如int64——>8    int32——>4 ....

数组遍历:

  for-range

    这是Go语言一种独有的结构,可以用来遍历访问数组的元素

    用法:

      for index, value := range array01 {

      ...

      }

注意事项和使用细节:

  1)数组是多个相同类型数据的组合,一个数组一旦声明/定义了,其长度是固定的,不能动态变化

  2)var arr []int 这时arr就是一个slice切片

  3)数组中的元素可以是任何数据类型,包括值类型和引用类型,但是不能混用

  4)数组创建后,如果没有赋值,有默认值0

  5)使用数组的步骤 1. 声明数组并开辟空间  2.给数组各个元素赋值  3.使用数组

  6)数组的下标是从0开始的

  7)数组下标必须在指定范围内使用,否则报panic:数组越界

  8)Go的数组属值类型,在默认情况下是值传递,因此会进行值拷贝,数组间不会相互影响 

  9)如想在其它函数中,去修改原来的数组,可以使用引用传递(指针方式)、

  10)长度是数组类型的一部分,在传递函数参数时需要考虑数组的长度。

四种初始化数组的方式:

var numsArray01 [3]int = [3]int {1, 2, 3}
var numsArray02 = [3]int {1, 2, 3}
var numsArray03 = [...]int {6, 7, 8}
var names = [3]string{1: "tom", 0: "jack", 2: "marry"}

 

golang之数组与切片

原文:https://www.cnblogs.com/xiangxiaolin/p/11817041.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!