我想从切片转换固定大小的数组:
func gen(bricks []Brick) {
if len(bricks) == 16 {
if check(Sculpture{bricks}) {
var b [16]Brick = bricks[0:16];
}
}
}
但结果是:
cannot use bricks[0:16] (type []Brick) as type [16]Brick in assignment
如何将切片转换为固定大小的数组?
答案 0 :(得分:45)
您需要使用copy
:
slice := []byte("abcdefgh")
var arr [4]byte
copy(arr[:], slice[:4])
fmt.Println(arr)
正如Aedolon所说,你也可以使用
copy(arr[:], slice)
因为副本始终只复制len(src)
和len(dst)
字节的最小值。
答案 1 :(得分:1)
我找到了一种无需分配更多空间即可解决问题的方法-定义一个与slice具有相同结构的新结构,并接收unsafe.Pointer。
const x = _request.pipe(proxyReq);
x.end();
x.on("response",(res)=>{
const routedResp = res.pipe(response);
routedResp.setHeader("content-type","application/json");
})
结果显示如下: