教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 goLang slice 和 array区别

goLang slice 和 array区别

发布时间:2023-03-01   编辑:jiaochengji.com
教程集为您提供goLang slice 和 array区别等资源,欢迎您收藏本站,我们将为您提供最新的goLang slice 和 array区别资源

array 类型

array是固定长度的数组,使用前必须确定数组长度

golang array 特点:

  • golang中的数组是值类型,也就是说,如果你将一个数组赋值给另外一个数组,那么,实际上就是整个数组拷贝了一份
  • 如果golang中的数组作为函数的参数,那么实际传递的参数是一份数组的拷贝,而不是数组的指针
  • array的长度也是Type的一部分,这样就说明[10]int[20]int是不一样的。

slice类型

  • slice是一个引用类型,是一个动态的指向数组切片的指针。
  • slice是一个不定长的,总是指向底层的数组array的数据结构。

1.创建slice

动态数组创建,类似创建数组,但是没有指定固定长度
var al []int     //创建slice
sl := make([]int,10)  //创建有10个元素的slice
sl:=[]int{1,2,3} //创建有初始化元素的slice

2.先创建数组,在数组的基础上建立切片slice

var arr =[10]{1,2,3,4,5。6}  
sl := arr[2:5] //创建有3个元素的slice

3.slice有一些简便的操作

 - `slice`的默认开始位置是0,`ar[:n]`等价于`ar[0:n]`
 - `slice`的第二个序列默认是数组的长度,`ar[n:]`等价于`ar[n:len(ar)]`

数组和slice的区别

  • 声明数组时,方括号内写明了数组的长度或者...,声明slice时候,方括号内为空
  • 作为函数参数时,数组传递的是数组的副本,而slice传递的是指针。
到此这篇关于“goLang slice 和 array区别”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
goLang slice 和 array区别
golang slice 必知必会
Go语言 数组
Golang 基础语法-高级数据类型(3)
Golang slice 切片原理
Go解密:数组、切片
go(golang)之slice的小想法1
Golang语言slice实现原理及使用方法
深度解密Go语言之Slice
Golang Slice和map的坑

[关闭]
~ ~