为了账号安全,请及时绑定邮箱和手机立即绑定

执行:用现有数组的类型和值定义多维数组?

执行:用现有数组的类型和值定义多维数组?

Go
牧羊人nacy 2021-05-18 05:25:46
是否可以a)定义b)使用现有数组初始化一个新的多维数组,如下面的代码中所示,而不是var b [2][3]int说类似var b [2]a?使用a的类型是什么,而不是对其进行硬编码(错过了使用a的意义)。也许同时处理初始化=复制值?package mainfunc main () {        a := [...]int{4,5,6}        var b [2][3]int        b[0],b[1] = a,a }(我知道切片的简便性,但是这个问题是关于理解数组的。)编辑:简直不敢相信我忘记了var b [2][len(a)]int,初学者的大脑冻结了。一线的答案是var b = [2][len(a)]int{a,a}。那是类型转换,对不对?
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

以下代码也可以使用。您的示例和我的示例都做同样的事情,并且两者都不应该比彼此快得多。


除非您使用反射来制作自己的切片(而不是数组)[3]int,否则就不可能[3]int在您的新类型中不重复。在当前版本中,这是不可能的。它是技巧,将在Go 1.1中发布。


package main


import "fmt"


func main() {

    a := [...]int{4,5,6}

    var b = [2][3]int{a, a}

    fmt.Println(b)

}


查看完整回答
反对 回复 2021-05-24
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信