如何在golang中将切片的长度定义为数组?
短信预约 -IT技能 免费直播动态提醒
在Golang中,切片与数组是两种不同的数据类型。切片是一个动态长度的序列,而数组是一个固定长度的序列。如果你想将切片的长度定义为数组,可以通过创建一个固定长度的数组,然后使用切片来引用该数组来实现。具体操作是先创建一个指定长度的数组,然后使用切片来引用该数组的一部分元素,这样就可以将切片的长度定义为数组的长度了。这种方式可以在一定程度上模拟数组的行为,同时也能够利用切片的灵活性。希望这个简短的回答对你有帮助!
问题内容
我有一个切片数组,我想定义切片的长度,因为当我尝试启动代码时会出现恐慌:
panic: runtime error: index out of range [0] with length 0
代码:
func Transpose(m [][]int) [][]int{
arr := make([][]int, len(m))
for i:=0; i
解决方法
问题是您尚未初始化每个内部切片。 arr := make([][]int, len(m))
仅初始化 arr
切片的外循环。
func Transpose(m [][]int) [][]int {
arr := make([][]int, len(m))
for i := 0; i < len(m); i++ {
arr[i] = make([]int, len(m[i]))
for j := 0; j < len(m[i]); j++ {
arr[i][j] = m[j][i]
}
}
return arr
}
以上就是如何在golang中将切片的长度定义为数组?的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341