我在Consider preallocating [to] (prealloc)
中抓住了这个问题我的代码是:
golangci-lint
您有想法解决皮棉问题吗?
预先分配一个具有容量的片,以便var to []string
for _, t := range s.To {
to = append(to, t.String())
}
将进行较少的复制:
append()
甚至更好,不要使用append()
,而是分配给单个切片元素:
to := make([]string, 0, len(s.To))
for _, t := range s.To {
to = append(to, t.String())
}