2014-02-23 65 views
2

片下面我有看到它包含两个片,作为一个深度嵌套的结构:Golang - 嵌套结构

package main 

import "fmt" 

type bar struct { 
    v1 []int 
    v2 []int 
} 

type foo struct{ bar bar } 
type tar struct{ foo foo } 

func main() { 
    f := &tar{foo: foo{bar: bar{v1: [2], v2: [3]}}} 
    fmt.Printf("Hello, playground %s", f) 
} 

如何初始化两片?或者我如何获得此代码的工作?

这里是Golang播放它:http://play.golang.org/p/zLutROI4YH

回答

1

v1v2是切片。初始化这些的方式是使用make([]int, YOUR_INITIAL_SIZE)而不是[2][3]

+0

谢谢你sir tigrang – collinglass

+0

我把它给你,因为我其实想把它初始化为空。 – collinglass

+0

这就是我所假设的。我正要编辑它,并说如果你想用已知的值初始化,请看@ Kavu的答案。 – tigrang