2014-07-11 26 views
-1

是否有可能将数组作为golang中结构的成员而不指定数组大小?如果是这样,我该怎么做?Golang - 我可以有一个数组成员的结构?

+2

你尝试过什么?告诉我们一些代码.. – OneOfOne

+0

我不知道甚至尝试什么。我没有看到规范中的任何东西,似乎使它成为可能 - 我[] int是一个切片,我[4] int不是我想要的。 – user1276273

回答

2

你可以有一个片或你可以在运行时确定一个固定大小的数组

包主要

import "fmt" 

func main() { 
    mystruct := struct { 
     array [3]int 
     slice [] int 
    }{ 
     [...]int{1, 2, 3}, 
     []int{1, 2, 3, 4, 5}, 
    } 
    fmt.Println(mystruct) 
} 
+0

正确的我得到这个,我读你的权利,然后是不可能定义一个结构类型,其中有一个数组的长度将在运行时定义? – user1276273

+2

这就是所谓的切片。指向数组的指针。该阵列可以有任何你想要的大小。不可能在结构本身没有数组,而未知的大小会使编译器无法知道为该类型分配多少内存。 – fabrizioM

+0

我对片的理解是它不仅仅是一个指向数组的指针。我可以只有一个指向类型数组的指针吗?即,这将解决编译器不知道为我的结构类型分配多少内存的问题。还是没有办法宣布这样的事情? – user1276273

相关问题