数组是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int、string 等,也可以是用户自定义的类型。一个数组包含的元素个数被称为数组的长度。

在Golang中数组是一个长度固定的数据类型,数组的长度是类型的一部分。

切片(slice)是 Golang 中一种比较特殊的数据结构,这种数据结构更便于使用和管理数据集合。切片是围绕动态数组的概念构建的,可以按需自动增长和缩小。

下面我们来看一下go语言中的数组与切片的区别:

1、定义方式不一样

2、初始化方法不一样:

数组需要指定大小,不指定也会根据初始化的自动推算出大小,不可改变

切片不需要指定大小。

3、函数传递方式不同:数组是值传递,切片是地址传递。

数组定义:

var a1 [3]intvar a2 [...]int{1,2,3}

切片定义

var b1 []intb2 := make([]int, 3, 5)

数组初始化

a1 := [...]int{1,2,3}a2 := [5]int{1,2,3}

切片初始化

b1 := make([]int, 3,5)

更多golang知识请关注golang教程栏目。

更多相关文章

  1. golang怎么拼接字符串数组
  2. golang切片需要make吗
  3. golang如何定义一个二维数组
  4. Golang中Bit数组如何实现(代码示例)
  5. 关于Golang切片的三种简单使用方式及区别
  6. 详解Golang数组的传递
  7. go语言中数组和切片的区别是什么?
  8. go语言如何实现字符串转数组
  9. go语言定义一个数组的方法有哪些

随机推荐

  1. android 搭建http服务器AndroidAsync
  2. vs2015 支持Android arm neon Introducin
  3. 7个Android应用程序源代码
  4. android图片转换代码
  5. Android监听屏幕锁屏
  6. Android 中使用MediaRecorder进行录像详
  7. 一个android通信录的源代码
  8. Android在内存中读取数据
  9. Android: change app names
  10. Android7.0中文文档(API)-- AutoCompleteTe