如何解决考虑预分配 (prealloc) lint?
How to resolve Consider preallocating (prealloc) lint?
我在 golangci-lint
中发现了 Consider preallocating [to] (prealloc)
这个问题
我的代码是:
var to []string
for _, t := range s.To {
to = append(to, t.String())
}
你有办法在 flint 中解决这个问题吗?
预分配容量的切片,这样 append()
将有更少(或没有)复制要做:
to := make([]string, 0, len(s.To))
for _, t := range s.To {
to = append(to, t.String())
}
或者更好的是,不要使用 append()
,而是分配给各个切片元素:
to := make([]string, len(s.To))
for i, t := range s.To {
to[i] = t.String()
}
我在 golangci-lint
中发现了 Consider preallocating [to] (prealloc)
这个问题
我的代码是:
var to []string
for _, t := range s.To {
to = append(to, t.String())
}
你有办法在 flint 中解决这个问题吗?
预分配容量的切片,这样 append()
将有更少(或没有)复制要做:
to := make([]string, 0, len(s.To))
for _, t := range s.To {
to = append(to, t.String())
}
或者更好的是,不要使用 append()
,而是分配给各个切片元素:
to := make([]string, len(s.To))
for i, t := range s.To {
to[i] = t.String()
}