ホームページ >バックエンド開発 >Golang >Go で「append」を使用して複数バイトのスライスを正しく追加するにはどうすればよいですか?

Go で「append」を使用して複数バイトのスライスを正しく追加するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-15 20:35:11870ブラウズ

How Do I Correctly Append Multiple Byte Slices in Go Using `append`?

変数引数を使用したバイナリ スライスの追加

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。