3 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
// 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貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
values := make([]interface{}, len(status))
for i, v := range status {
values[i] = v
}
query = query.Filter(elastic.NewTermsQuery("item_holder_id", values...))

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
...
您可以通過在您的論點(diǎn)之后添加來簡單地修復(fù)它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...))
有關(guān)其工作原理的解釋,這是來自golang 規(guī)范:
如果 f 是具有最終參數(shù)類型 ...T 的可變參數(shù),則在函數(shù)內(nèi)該參數(shù)等同于 []T 類型的參數(shù)。在每次調(diào)用 f 時(shí),傳遞給最終參數(shù)的參數(shù)是類型為 []T 的新切片,其連續(xù)元素是實(shí)際參數(shù),它們都必須可分配給類型 T。
- 3 回答
- 0 關(guān)注
- 286 瀏覽
添加回答
舉報(bào)