I don't understand something when I want to pop out first element of a slice and use it. Here is my version: s := []int{1,2,3} first := s[0] s = s[1:]
Here is a version that I saw in the standard library: https://golang.org/src/database/sql/sql.go#L791 first := s[0] copy(s, s[1:]) s = s[:len(s) - 1] I wonder, why do we need to translate the other elements to the left with a copy ? In the first case, I guess the first element will still be found in the underlying array, and in the second case the last element. It's not like for avoiding a memory leak, because neither version allocates a new underlying array. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.