Ajout de tranches binaires avec des arguments variables
Vous avez rencontré une erreur en essayant d'ajouter des tranches de deux octets (un et deux) à l'aide de append . Le problème vient de la tentative de transmission des deux tranches sous forme de []octet sans utiliser la syntaxe correcte pour transmettre les arguments de variable dans Go.
Conformément à la spécification du langage de programmation Go :
"append(s S , x ...T) S // T est le type d'élément de S"
Pour votre cas, où l'argument final (deux) est une tranche []byte, vous devez ajouter l'opérateur ... :
"Si l'argument final est attribuable à un type de tranche []T, il peut être transmis inchangé comme valeur d'un paramètre ...T si l'argument est suivi par ...."
Par conséquent, le code correct est :
import "fmt" func main() { one := make([]byte, 2) two := make([]byte, 2) fmt.Println(append(one[:], two[:]...)) }
Cela ajoute correctement les deux tranches et imprime le binaire combiné données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!