Slide 10
Slide 10 text
©2019 Wantedly, Inc.
Slice ͷৼΔ͍͔ΒڍಈΛཧղ͢Δ
‣ 4MJDFͷ෦ߏΛཧղ͢Δ
4MJDFT5IFTMJDFIFBEFS
ؔͷҾϨγʔόʹεϥΠεΛೖΕͯΈͯɺ෦ߏͷཧղͷॿ͚ʹ
‣ (P4MJDFTVTBHFBOEJOUFSOBMTʹ͋ͬͨΑ͏ͳྲྀΕ
4MJDFʹ࣮DBQ͕͋Δ
େ͖͍4MJDFΛ࡞ΔͨΊʹNBLF͕͋Δ
4MJDFΛFYUFOE͢Δେ͖͍4MJDFʹDPQZ͢Δ
͜ΕΒΛΈ߹ΘͤͯBQQFOEΛ࣮ݱ͢Δ
‣ ͋ͱOJMTMJDFTUSJOHͷ
༷ɾػೳղઆ Arrays, slice (and strings): The mechanics of 'append'
// Append appends the elements to the slice.
// Efficient version.
func Append(slice []int, elements ...int) []int {
n := len(slice)
total := len(slice) + len(elements)
if total > cap(slice) {
// Reallocate. Grow to 1.5 times the new size,
newSize := total*3/2 + 1
newSlice := make([]int, total, newSize)
copy(newSlice, slice)
slice = newSlice
}
slice = slice[:total]
copy(slice[n:], elements)
return slice
}
Snippet from https://blog.golang.org/slices