0
要声明一个空片,我知道,你应该更喜欢围棋 - 初始化一个空切片
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
你最后一个例子什么都不做,因为'example.s'已经是正确类型的零分片了。在这种情况下你不需要做任何事情。 – JimB
抱歉 - 编辑我的问题。尚真? – ryebread
即使代码无效,我也明白你的意思。 'e.s'和's'都是'nil',所以你所做的就是分配'e.s = nil',它什么都不做。 'e.s'已经是正确的类型,所以你不需要做任何事情。 – JimB