在 go 中组合两个切片的惯用方法和风格是什么?

问题描述 投票:0回答:1

当组合两个切片时,例如水果和蔬菜,创造第三种,例如食物。附加水果和蔬菜并将结果直接分配给食物似乎是有意义的。
golangci-lint 的检查:“appendAssign”表明这不是一种可接受的方式,最好有替代方案(见下文)。

实现此目的最惯用的方法是什么?

说明问题的代码:https://go.dev/play/p/IFV6o92-HTb

go golangci-lint
1个回答
0
投票

最好的方法是使用 slices.Concat

    food := slices.Concat(fruits, vegetables)

另一种选择是

    food := make([]string, 0, len(fruits)+len(vegetables))
    food = append(food, fruits...)
    food = append(food, vegetables...)

具有预分配数组的优势。也可以工作

    var food []string
    food = append(food, fruits...)
    food = append(food, vegetables...)
© www.soinside.com 2019 - 2024. All rights reserved.