固定サイズの配列をスライスから変換したい:
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
スライスを固定サイズの配列に変換する方法は?
copy
を使用する必要があります:
_slice := []byte("abcdefgh")
var arr [4]byte
copy(arr[:], slice[:4])
fmt.Println(arr)
_
Aedolonが指摘するように、あなたはまた使用することができます
_copy(arr[:], slice)
_
コピーは常に最小のlen(src)
およびlen(dst)
バイトのみをコピーするため。