3 回答

TA貢獻1820條經驗 獲得超10個贊
// Convert type []int to type []interface{}
status := make([]interface{}, len(ihids))
for index, value := range ihids {
? ? status[index] = value
}
// Ullaakut aswer
query := elastic.NewBoolQuery()
query = query.Must(elastic.NewRangeQuery("sales_start_date").Gte(date).TimeZone("+09:00"))
query = query.Filter(elastic.NewTermsQuery("item_holder_id", status...))
我有同樣的問題,我用這種方式解決了。

TA貢獻1744條經驗 獲得超4個贊
values := make([]interface{}, len(status))
for i, v := range status {
values[i] = v
}
query = query.Filter(elastic.NewTermsQuery("item_holder_id", values...))

TA貢獻1752條經驗 獲得超4個贊
...
您可以通過在您的論點之后添加來簡單地修復它ihids
:
query?:=?elastic.NewBoolQuery() query?=?query.Must(elastic.NewRangeQuery("sales_start_date").Gte(date).TimeZone("+09:00")) query?=?query.Filter(elastic.NewTermsQuery("item_holder_id",?ihids...))
有關其工作原理的解釋,這是來自golang 規范:
如果 f 是具有最終參數類型 ...T 的可變參數,則在函數內該參數等同于 []T 類型的參數。在每次調用 f 時,傳遞給最終參數的參數是類型為 []T 的新切片,其連續元素是實際參數,它們都必須可分配給類型 T。
- 3 回答
- 0 關注
- 275 瀏覽
添加回答
舉報