after := slices.Delete(before, 1, 4) fmt.Println(before) fmt.Println(after) } // 出力結果 // Go1.21 -> [a e c d e] // Go1.21 -> [a e] // Go1.22 -> [a e ] // Go1.22 -> [a e] slices.Delete()とは? • Go1.21, Go1.22共に戻り値afterの 値は同じ • beforeの値が違う ◦ Go1.21では、”b”, “c”, “d”を削除 した後に、元々index2 ~ index4 の場所にいた”c”, “d”, “e”が復 活したかのような挙動になって いる ◦ Go1.22では、”b”, “c”, “d”が削 除された後に、index2 ~ index4 の場所にはゼロ値が入っている 後ろにゼロ値が3つ 入っている