Golang二维切片初始化的实现
作者:Dreamcat 发布时间:2024-05-09 14:57:54
标签:Golang,二维切片,初始化
引言
之前,刷Leetcode的时候,有些题需要初始化二维数组,而一维数组的初始化,比如:
var a = [5]int{1, 2, 3, 4, 5} // 用var
b := [5]int{1, 2, 3, 4, 5} // 用类型推断
var c = [...]int{1, 2, 3, 4, 5} // 不确定长度
d := [...]int{1, 2, 3, 4, 5}
如果不知道数组元素的话,可以这样:
var a [5]int
b := [5]int{}
c := make([]int, 5)
注意:类型推断,可要初始化的,如果b := [5]int,就会报错的。而var a [5]int,则不需要初始化。
二维数组初始化
比如3*4:
var a [3][4]int
结果为:
[[0 0 0 0] [0 0 0 0] [0 0 0 0]]
类型推断:
a := [3][4]int{}
结果为:
[[0 0 0 0] [0 0 0 0] [0 0 0 0]]
注意:固定长度的时候,不能是变量,比如:
m, n := 3, 4
var a [m][n]int // 报错,必须是常量表达式
如果一定要变量呢?那就得切片了了
func main() {
m, n := 3, 4
a := make([][]int, m) // 二维切片,3行
for i := range a {
a[i] = make([]int, n) // 每一行4列
}
fmt.Println(a)
}
结果:
[[0 0 0 0] [0 0 0 0] [0 0 0 0]]
注意,有一种情况,如果没有规定长度或者初始化,访问元素会range out呢:
var a []int // or a := []int{}
fmt.Println(a) // []
a[0] = 1 // 报错
总结
来源:https://juejin.cn/post/6948325364867268644


猜你喜欢
- 发送电子邮件在即时通信软件如此发达的今天,电子邮件仍然是互联网上使用最为广泛的应用之一,公司向应聘者发出录用通知、网站向用户发送一个激活账号
- 1、plotly库的相关介绍1)相关说明plotly是一个基于javascript的绘图库,plotly绘图种类丰富,效果美观;易于保存与分
- 前言:常见的加密算法基本分为这几类:线性散列算法(签名算法)MD5,sha1对称性加密算法 AES DES非对称性加密算法 RSA一、md5
- 1.如何引入在vue-cli里,引入文件有几钟方法一种是用npm或者cnpm指令去下载对应的插件,然后在main.js里用import方法引
- 前言:脚本中包含以下几点常用功能:(1)实时获取当前时间(2)while循环提交(3)上传图片文件一、上述功能解释:(1)实时获取当前时间,
- 1、什么是JDBC?有什么作用?Java Data Base Connectivity Java数据库连接协议是一种用于执行SQL语句的Ja
- EXISTS该函数返回集合中第一个元素的索引,如果集合为空,返回NULLNULLNULLCollection.EXISTS(index)CO
- Python中,列表是可以进行修改的:赋值、删除元素、分片等等。在给列表添加元素时,有两个常见的方法:append和extend。appen
- 这个模块提供了与 Perl 相似l的正则表达式匹配操作。Unicode字符串也同样适用。正则表达式使用反斜杠" \ "来
- 在PyCharm2017中同目录下import其他模块,会出现No model named ...的报错,但实际可以运行这是因为PyChar
- what's the math 模块Python math 模块提供了许多对浮点数的数学运算函数。需要注意的是,这些函数一般是对平台
- 首先要解释一下:“极致之美”不是说月儿的这篇文章,因为本人还没有自大到这种程度:P,它形容的是Lisp和javascript结合的优美形态。
- WinHttp; // Microsoft WinHTTP Services, version 5.1Alias HTTPREQUEST_P
- 适用环境: PHP5.2.x / mysql 5.0.xclass Mysql { priva
- 马上就要过节了,想把自己的项目搞得酷炫一些,对整个网站的按钮添加图标、飘花效果、首屏大图展示、顶部导航背景图,于是就写了这一遍文字,如有兴趣
- 具体代码如下:from django.template import loaderfrom emai
- 本文实例讲述了Python生成随机数组的方法。分享给大家供大家参考,具体如下:研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确
- 前言今天继续为大家更新Go语言学习记录的文章。首先说明pointer指针和switch是两个并没有直接关系的知识点,放在一篇文章中将的原因是
- 今天分享 3 个 Python 编程小技巧,来看看你是否用过?1、如何按照字典的值的大小进行排序我们知道,字典的本质是哈希表,本身是无法排序
- 用例子说明fruit = ['pineapple','grape','pear']fruit