我想从切片转换固定大小的数组:
func gen(bricks []Brick) {
if len(bricks) == 16 {
if check(Sculpture{bricks}) {
var b [16]Brick = bricks[0:16];
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这会导致:
cannot use bricks[0:16] (type []Brick) as type [16]Brick in assignment
Run Code Online (Sandbox Code Playgroud)
如何将切片转换为固定大小的数组?
inf*_*inf 53
你需要使用copy:
slice := []byte("abcdefgh")
var arr [4]byte
copy(arr[:], slice[:4])
fmt.Println(arr)
Run Code Online (Sandbox Code Playgroud)
正如Aedolon所说,你也可以使用
copy(arr[:], slice)
Run Code Online (Sandbox Code Playgroud)
因为副本将始终只复制最小值len(src)和len(dst)字节.
| 归档时间: |
|
| 查看次数: |
18694 次 |
| 最近记录: |