Golang中的切片

江江简书 · · 714 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

知识点预览

1.切片的含义
2.切片的定义
3.切片的遍历
4.切片append
5.切片的copy
6.切片相关的注意事项

//1.切片是数组的引用
//2.切片传值是引用类型
//3.切片是动态可增长的数组
//4.切片底层实际是一个机构体包含指向数组的地址,len和cap
//1.定义方式1(在数组的基础上引用)
var arrslice = [5]int{11,22,33,44,55}
slice := [1:3]  /*定义了一个切片,修改slice会改变arrslice,且切片的值是22,33;
其中[start:end]/[start:]/[:end]/[:]几种切片的表示方法*/
//2.切片的定义方式2(make)方法
slicearr := make{[]int,3,7}  
/*这里隐藏了数组,只对外可见切片,make{[]类型,len,[cap]} */
//切片定义3(最简方式)
slicearr := []string{"jack","tome","abc"}
//遍历方式1:普通方式
for i:=0;i<len(slice);i++{
  执行逻辑代码
}
//遍历方式2:for range方式遍历
for key,value := range slice{
   执行内部循环逻辑代码
}
//1.切片追加普通变量
slicearr := []int{11,22,43}
slicearr := append(slicearr,55)
//2.切片追加切片
slicearr := []int{11,22,43}
slicearr := append(slicearr,slicearr...) //这里...是固定的用法只能是切片
slice1 := []{11,22,33}
slice2 := make([]int,10)
copy(slice2,slice1)
//切片相关的注意事项
//1.切片追加和copy只能是相同的数据类型
//2.切片copy只能是对切片进行copy
//3.切片可以再切片但是必须要有接收值
//4.切片实质是引用所以改变了引用的值原值也会变化

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:江江简书

查看原文:Golang中的切片

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

714 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传