Go - 初始化一个空切片

时间:2016-09-14 16:54:38

标签: memory go slice allocation is-empty

要声明一个空切片,我知道你应该更喜欢

var t []string

t := []string{}

因为它没有分配不必要的内存(https://github.com/golang/go/wiki/CodeReviewComments#declaring-empty-slices)。如果我有

,这仍然适用
type example struct {
    s []string
}
e := &example{}

即。使用

会更好吗?
e.s = []string{}

var s []string
e.s = s

1 个答案:

答案 0 :(得分:2)

example.s已经宣布,所以您无需做任何事情。

e := &example{}
e.s = append(e.s, "val")
fmt.Println(e.s)