数组

是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。在初始化后长度是固定的,

无法修改其长度。当作为方法的参数传入时将复制一份数组而不是引用同一指针。数组的长度也是其类型的一部分,通过内置函数

len(array)获取其长度。

注意:和C中的数组相比,又是有一些不同的

1、Go中的数组是值类型,换句话说,如果你将一个数组赋值给另外一个数组,那么,实际上就是将整个数组拷贝一份

2、如果Go中的数组作为函数的参数,那么实际传递的参数是一份数组的拷贝,而不是数组的指针。这个和C要区分开。因此,在Go

中如果将数组作为函数的参数传递的话,那效率就肯定没有传递指针高了。

3、array的长度也是Type的一部分,这样就说明[10]int和[20]int是不一样的。

推荐学习《golang教程》

切片

数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型Slices切片(“动态数组"),与

数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。切片中有两个概念:一是len长度,二是cap容

量,长度是指已经被赋过值的最大下标+1,可通过内置函数len()获得。容量是指切片目前可容纳的最多元素个数,可通过内置函数

cap()获得。切片是引用类型,因此在当传递切片时将引用同一指针,修改值将会影响其他的对象。

更多相关文章

  1. golang 数组存的是什么
  2. golang怎么判断数组是否为空
  3. golang数组与切片的不同之处
  4. golang怎么拼接字符串数组
  5. golang切片需要make吗
  6. golang如何定义一个二维数组
  7. Golang中Bit数组如何实现(代码示例)
  8. 关于Golang切片的三种简单使用方式及区别
  9. 详解Golang数组的传递

随机推荐

  1. Android(安卓)Build (1) -- Source Code
  2. Android启动Activity的两种方式
  3. Android(安卓)Studio自定义模板 写页面竟
  4. Android自定义动画专题一
  5. Android(安卓)进程间通信的几种实现方式
  6. Android中的进程和线程
  7. Android(安卓)RotateAnimation详解
  8. ADT转AndroidStudio建议
  9. Android学习记录1
  10. Android(安卓)IPC入门——AIDL