Go语言多维切片简述


本站和网页 http://c.biancheng.net/view/4119.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Go语言多维切片简述
首页
教程
VIP会员
一对一答疑
辅导班
公众号
首页
C语言教程
C++教程
Python教程
Java教程
Linux入门
更多>>
目录
Go语言
Go语言简介
Go语言基本语法
3 Go语言容器 3.1 Go语言数组3.2 Go语言多维数组3.3 Go语言切片3.4 使用append()为切片添加元素3.5 Go语言切片复制3.6 Go语言从切片中删除元素3.7 Go语言range关键字3.8 Go语言多维切片3.9 Go语言map(映射)3.10 Go语言遍历map3.11 map元素的删除和清空3.12 Go语言map的多键索引3.13 Go语言sync.Map3.14 Go语言list(列表)3.15 Go语言nil:空值/零值3.16 Go语言make和new关键字的区别及实现原理
流程控制
Go语言函数
Go语言结构体
Go语言接口
Go语言包(package)
Go语言并发
10
Go语言反射
11
Go语言文件处理
12
Go语言编译与工具
首页 > Go语言 > Go语言容器
Go语言多维切片简述
Go语言中同样允许使用多维切片,声明一个多维数组的语法格式如下:
var sliceName [][]...[]sliceType
其中,sliceName 为切片的名字,sliceType为切片的类型,每个[ ]代表着一个维度,切片有几个维度就需要几个[ ]。
下面以二维切片为例,声明一个二维切片并赋值,代码如下所示。
//声明一个二维切片
var slice [][]int
//为二维切片赋值
slice = [][]int{{10}, {100, 200}}
上面的代码也可以简写为下面的样子。
// 声明一个二维整型切片并赋值
slice := [][]int{{10}, {100, 200}}
上面的代码中展示了一个包含两个元素的外层切片,同时每个元素包又含一个内层的整型切片,切片 slice 的值如下图所示。
图:整型切片的切片的值
通过上图可以看到外层的切片包括两个元素,每个元素都是一个切片,第一个元素中的切片使用单个整数 10 来初始化,第二个元素中的切片包括两个整数,即 100 和 200。
这种组合可以让用户创建非常复杂且强大的数据结构,前面介绍过的关于内置函数 append() 的规则也可以应用到组合后的切片上,如下所示。
【示例】组合切片的切片
// 声明一个二维整型切片并赋值
slice := [][]int{{10}, {100, 200}}
// 为第一个切片追加值为 20 的元素
slice[0] = append(slice[0], 20)
Go语言里使用 append() 函数处理追加的方式很简明,先增长切片,再将新的整型切片赋值给外层切片的第一个元素,当上面代码中的操作完成后,再将切片复制到外层切片的索引为 0 的元素,如下图所示。
图:append 操作之后外层切片索引为 0 的元素的布局
即便是这么简单的多维切片,操作时也会涉及众多的布局和值,在函数间这样传递数据结构会很复杂,不过切片本身结构很简单,可以用很小的成本在函数间传递。
关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。本公众号由C语言中文网站长亲自运营,长期更新,坚持原创。
微信扫码关注公众号
优秀文章
Go语言常量和const关键字
Go语言通过类型信息创建实例
C语言内存对齐,提高寻址效率
常用数据库有哪些(附带数据库排名)?
PHP array_keys():获得数组中的键名
Go语言适合做什么
PHP time():获取当前时间戳
MySQL慢查询日志(Slow Query Log)
Maven简介
弗洛伊德算法(求最短路径)
精美而实用的网站,分享优质编程教程,帮助有志青年。千锤百炼,只为大作;精益求精,处处斟酌;这种教程,看一眼就倾心。
关于网站 |
关于站长 |
如何完成一部教程 |
公众号 |
联系我们 |
网站地图
Copyright ©2012-2022 biancheng.net, 冀ICP备2022013920号, 冀公网安备13110202001352号
加入微信交流群,一起学习不枯燥。内含一款搜索神器,免费下载全网书籍和视频。