Arrays 以编程方式创建嵌套数组

Arrays 以编程方式创建嵌套数组,arrays,go,multidimensional-array,nested,Arrays,Go,Multidimensional Array,Nested,我想测试robustnes的序列化格式,并想序列化嵌套数组。序列化实际上在某个点上消失了,但我不知道确切的深度是多少。现在我只是手动定义一个大数组,但我想通过编程来实现,这样我就可以知道深度到底是什么时候太高了。更改每次迭代的代码是乏味的 l := [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][

我想测试robustnes的序列化格式,并想序列化嵌套数组。序列化实际上在某个点上消失了,但我不知道确切的深度是多少。现在我只是手动定义一个大数组,但我想通过编程来实现,这样我就可以知道深度到底是什么时候太高了。更改每次迭代的代码是乏味的

l := [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]string {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{"a"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
我想要的是这样的东西:

l := "a"
while(1){
    l = {l} //nest the slice/array once more
    print("round ", i)
    i++
}

我是一个Golang新手,我不知道在这种情况下如何绕过类型安全

在go中,您无法更改变量的类型,因此需要使用接口{}作为类型
var l interface{}
现在您可以执行以下操作:

l = "a"
for i:= 0;i<3;i++{
    l = []interface{}{l}
}
l=“a”

对于i:=0;除非你想使用接口{},否则你不能真正做你想做的事情。@Volker我能从接口生成数组吗?你能再详细说明一下这一点吗?我在想这应该是通过思考来实现的,对吧?从嵌套对象创建新对象?您可以将任何内容放入接口{},甚至像[]接口{}这样的切片,因此无需在此处进行反射。这里有什么不清楚的地方?@Volker正如我所说,我是一个Golang新手,所以我不清楚界面的整个概念以及如何使用它。但幸运的是,Nordiii提供了一个很好的示例和实际反馈。s/cast/type assert/g