変数引数を使用したバイナリ スライスの追加
append を使用して 2 バイトのスライス (1 と 2) を追加しようとしたときにエラーが発生しました。この問題は、Go で変数引数を渡すための正しい構文を使用せずに、両方のスライスを []byte として渡そうとしたことが原因です。
Go プログラミング言語仕様に従って:
"append(s S , x ...T) S // T は S"
の要素の型です。あなたの場合、最後の引数 (2)が [] バイトのスライスである場合は、... 演算子を追加する必要があります:
"最後の引数がスライス タイプ []T に割り当て可能な場合は、... の値としてそのまま渡すことができます。引数の後に ...."
が続く場合の T パラメータ。したがって、正しいコードは次のとおりです。
import "fmt" func main() { one := make([]byte, 2) two := make([]byte, 2) fmt.Println(append(one[:], two[:]...)) }
これは 2 つを追加します正しくスライスし、結合されたバイナリ データを出力します。
以上がGo で「append」を使用して複数バイトのスライスを正しく追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。