スライスに対する Append() の動作を理解する
Go でスライスを操作する場合、append() 関数がどのようにスライスと対話するかを理解することが重要です。値によって渡されるスライス。
次のコードを考えてみましょう。スニペット:
func main() { slice := make([]int, 10, 10) slice[0] = 0 slice[1] = 1 slice1 := slice slice1[0] = 10000 fmt.Println(slice) slice1 = append(slice1, 100) slice1[0] = 20000 fmt.Println(slice) }
この例では、2 つのスライス (スライスとスライス 1) が作成され、スライス 1 は最初にスライスと同じ配列を指します。ただし、最初の append() 呼び出しの後、slice1 には別の配列を指す新しいスライス値が割り当てられます。この割り当てにより、slice1 の動作はスライスから独立します。
説明:
結果:
スライス ヘッダーとその内部構造を理解するには、次のリソースを参照してください:
以上がGo の `append()` 関数は値で渡されたときにスライスの動作にどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。