Go语言切片支持多维吗
本文讲解"Go语言切片支持多维吗",希望能够解决相关问题。
可以。Go语言的切片是支持多维的,声明一个多维切片的语法格式“var sliceName [][]...[]sliceType”;如果是二维切片,那么切片的每一个元素都是一个一维切片,如果切片是三维切片,那么每一个元素都是一个二维切片。
Go 语言的切片是支持多维的,声明一个多维切片的语法格式如下:
var sliceName [][]...[]sliceType
其中,sliceName 为切片的名字,sliceType为切片的类型,每个[ ]代表着一个维度,切片有几个维度就需要几个[ ]。
如果是二维切片,那么切片的每一个元素都是一个一维切片,如果切片是三维切片,那么每一个元素都是一个二维切片。
一般我们使用最多的就是二维切片,很少用到三维切片,更多维的切片几乎更用不到。
Go语言二维切片
定义
var varName [][]Type
参数 | 描述 |
---|---|
var | 定义切片使用的关键字。 |
varName | 切片名。 |
Type | 二维切片中每个元素的类型。 |
说明
- 定义一个二维切片 varName,该切片的每个元素的类型都是 Type。
Go语言三维切片
定义
var varName [][][]Type
说明
- 定义一个三维切片 varName,该切片的每一个元素都是一个二维切片。
案例
- 创建二维切片
创建二维切片时,可以直接初始化
package main import ( "fmt" ) func main() { //创建二维切片时,可以直接初始化 var sliceHaiCoder = [][]string{{"Server", "Python"}, {"Server", "Golang"}, {"JavaScript", "Vue"}} fmt.Println("sliceHaiCoder =", sliceHaiCoder) }
我们创建了一个三行两列的二维切片,每个切片元素都是 string 类型,接着我们使用切片初始化的方式给切片赋值。最后,我们使用 print 打印切片的内容。
- 创建三维切片
package main import ( "fmt" ) func main() { //创建一个三维切片 var arrHaiCoder = [][][]string{{{"JavaScript", "Vue"}}, {{"Python", "Golang"}}} fmt.Println("arrHaiCoder =", arrHaiCoder) }
关于 "Go语言切片支持多维吗" 就介绍到此。希望多多支持编程宝库。
本文讲解"go语言中make和new的区别有哪些",希望能够解决相关问题。区别:1、make只能用来分配及初始化类型为slice、map、chan的数据;而new可以分配任意类型的数据。2、new分配 ...