我正在為特定API的客戶端工作,并且我構(gòu)建了幾種結(jié)構(gòu)(每條路由一個)。該API可與頁面一起使用,因此我可以讓吸氣劑返回結(jié)構(gòu)的切片。這是通過一個通用函數(shù)完成的,該函數(shù)采用一個接口,該接口應(yīng)該是指向所需結(jié)構(gòu)切片的指針,因此我可以Unmarshal在json包中使用它。我面臨的問題是我想在一個請求中獲得所有頁面,但是要做到這一點,我需要將幾個切片連接起來。我嘗試使用此方法來執(zhí)行此操作,reflect但我只能設(shè)法創(chuàng)建一個新切片,而無需實際更改接口指向的值。這是我的代碼的一部分:func concatenateSlice(dst, src interface{})(){ dstValue := reflect.ValueOf(dst) srcValue := reflect.ValueOf(src) if srcValue.Type() != dstValue.Type(){ return } switch srcValue.Kind(){ case reflect.Ptr, reflect.Slice: dstValuePoint := reflect.Indirect(dstValue) srcValuePoint := reflect.Indirect(srcValue) reflect.Copy(dstValuePoint, reflect.AppendSlice(dstValuePoint, srcValuePoint)) }}我為草率的帖子感到抱歉,這是我第一次使用stackoverflow。
- 1 回答
- 0 關(guān)注
- 272 瀏覽
添加回答
舉報
0/150
提交
取消