我的应用程序有一个这样的结构片段
type ItemOrder struct {
ItemId
...
}
var items = []*ItemOrder
还有一个可变参数函数接受...int
func ItemIds(lang string, ids ...int){
...
如何从 items []*ItemOrder
slice 中获取所有 itemId 并将其提供给可变参数函数?有点像
itemsPB, err := ItemIds("", items[:].itemId)
Abov 不起作用,因为我没有为 slice 提供从中提取 itemId 的位置。
最佳答案
您必须为 ID 创建一个新 slice ,并使用循环来填充它。没有捷径。
例如:
ids := make([]int, len(items))
for i, item := range items {
ids[i] = item.ItemId
}
ItemIds("en", ids...)
在 Go Playground 上试试.
关于go - 将结构的字段 slice 为可变参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56923791/