Quick actions

cmd+k|ctrl+k

Navigation

Languages

Slices / Remove elements from slice / Essential Go

Snippet info

Language

Go

Visibility

public

Author

kkowalczyk

Created

2019-04-18T17:11:21Z

Updated

2019-04-18T17:11:21Z

package main

import "fmt"

func main() {
	s := []int{10, 11, 12, 13}
	fmt.Printf("&s[0]: %p, cap(s): %d\n", &s[0], cap(s))
	fmt.Printf("s: %#v\n", s)

	i := 1 // index of 11
	n := 2 // remove 2 elements

	s = append(s[:i], s[i+n:]...)

	fmt.Print("\nAfter removal:\n")
	fmt.Printf("&s[0]: %p, cap(s): %d\n", &s[0], cap(s))
	fmt.Printf("s: %#v\n", s)

	s = append(s, 1, 2, 3, 4)
	fmt.Printf("\nAfter appending beyond remaining capacity:\n")
	fmt.Printf("&s[0]: %p, cap(s): %d\n", &s[0], cap(s))
	fmt.Printf("s: %#v\n", s)

}
INFO