可变的结构域的一部分

时间:2019-07-07 15:57:12

标签: go struct slice variadic

我的应用程序具有这样的结构片段

%hhx

还有一个接受type ItemOrder struct { ItemId ... } var items = []*ItemOrder 的可变参数函数

...int

如何从func ItemIds(lang string, ids ...int){ ... 切片中获取所有itemIds并将其提供给可变参数函数?像

items []*ItemOrder

Abov不起作用,因为我没有给切片提供从中提取itemId的位置。

1 个答案:

答案 0 :(得分:5)

您必须为ID创建一个新的切片,并使用循环来填充它。没有捷径。

例如:

ids := make([]int, len(items))
for i, item := range items {
    ids[i] = item.ItemId
}
ItemIds("en", ids...)

Go Playground上尝试。