码迷,mamicode.com
首页 > 编程语言 > 详细

go语言——数组和切片

时间:2020-05-16 19:01:19      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:切片   dex   元素   type   int   ++   第一个   引用   print   

go语言——数组和切片

数组

声明和初始化

var variable_name [size] variable_type
//默认值为0

eg:

var ss [10]int
var s1 = [5]int{1,2,3,4,5}

遍历

方法一

for i=0; i < len(arry);i++ {
	flm.Println(i)
}

方法二

for index, value := range array {
	fmt.Println(index,value)
}

多维数组

//存储了三个一维数组,每个一位数组长度为4
var ss [3][4]int
var ss1 [3][4]int{{},{},{}}

切片

声明

var variable_name [] variable_type

//slice会自动扩容,每次扩容len*2
//每次扩容都会重新指向一个新的底层数组
s1 := make([]int,3,8)
si = append(s1,1,2)

//切片原则类似python的列表,但没有步长
//底层数组的修改会影响切片
//切片的修改也会影响底层数组
a := [5]int{1,2,3,4,5}
a1 := a[1:3]

引用传值一般使用make创建

func make(t type,size,InttegerType) type

第一个参数:类型

? slice,map,chan

第二个参数:长度

? 实际存储的元素数量

第三个参数:容量

? 最多能够存储的元素数量

深浅拷贝

  • 浅拷贝拷贝的是地址
  • 深拷贝拷贝的是值
s1 := []int{1,2,3}
copy(s2,s1)//将s1中的值拷贝到s2

go语言——数组和切片

标签:切片   dex   元素   type   int   ++   第一个   引用   print   

原文地址:https://www.cnblogs.com/tomyyyyy/p/12901418.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!