2 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先,您不能使用[]*interface{}指針切片來接口,而不是[]interface{}接口是指針的地方。[]*interface{}不同于[]interface{}. 只需創(chuàng)建一片接口,其中每個(gè)元素都是指向具體類型的指針。
這是您將如何執(zhí)行此操作的片段。
var x int
var s string
data := []interface{}{&x, &s}
rows.Scan(data...)
關(guān)于使用...擴(kuò)展運(yùn)算符的注意事項(xiàng)。

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果你真的想傳遞 a []*interface{}(也許你不知道輸出的具體類型),你必須首先將每個(gè)包裝*interface{}在 a 中interface{}:
values := make([]interface{}, columnsCount)
for i := range values {
values[i] = new(interface{})
}
傳遞給...interface{}參數(shù)的單個(gè)值會(huì)自動(dòng)包裝在 a 中interface{},但就像[]int...不會(huì)滿足一樣...interface{},也不會(huì)[]*interface{}...。
- 2 回答
- 0 關(guān)注
- 163 瀏覽
添加回答
舉報(bào)