Je veux convertir un tableau de taille fixe à partir d'une tranche:
func gen(bricks []Brick) {
if len(bricks) == 16 {
if check(Sculpture{bricks}) {
var b [16]Brick = bricks[0:16];
}
}
}
Mais cela se traduit par:
cannot use bricks[0:16] (type []Brick) as type [16]Brick in assignment
Comment convertir une tranche en un tableau de taille fixe?
Vous devez utiliser copy
:
slice := []byte("abcdefgh")
var arr [4]byte
copy(arr[:], slice[:4])
fmt.Println(arr)
Comme le note Aedolon, vous pouvez également simplement utiliser
copy(arr[:], slice)
as copy ne copiera toujours que le minimum de len(src)
et len(dst)
octets.