Kri*_*urg 1 struct variadic go slice
我的应用程序具有这样的结构片段
type ItemOrder struct {
ItemId
...
}
var items = []*ItemOrder
Run Code Online (Sandbox Code Playgroud)
可变函数接受 ...int
func ItemIds(lang string, ids ...int){
...
Run Code Online (Sandbox Code Playgroud)
如何从items []*ItemOrder切片中获取所有itemIds 并将其提供给可变参数函数?就像是
itemsPB, err := ItemIds("", items[:].itemId)
Run Code Online (Sandbox Code Playgroud)
Abov无法正常工作,因为我没有给切片提供从中提取itemId的位置。
您必须为ID创建一个新的slice,并使用循环来填充它。没有捷径。
例如:
ids := make([]int, len(items))
for i, item := range items {
ids[i] = item.ItemId
}
ItemIds("en", ids...)
Run Code Online (Sandbox Code Playgroud)
在Go Playground上尝试一下。
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |