Quick actions

cmd+k|ctrl+k

Navigation

Languages

Slices / Append to slice / Essential Go

Snippet info

Language

Go

Visibility

public

Author

kkowalczyk

Created

2019-03-26T09:39:53Z

Updated

2019-03-26T09:39:53Z

package main

import "fmt"

func main() {
	var a []int
	ptr := fmt.Sprintf("%p", a)
	n := 0
	nAppends := 0
	for {
		a = append(a, 1)
		nAppends++
		currPtr := fmt.Sprintf("%p", a)
		if currPtr != ptr {
			fmt.Printf("Appends needed to re-allocate slice: %d\n", nAppends)
			nAppends = 0
			ptr = currPtr
			n++
			if n == 6 {
				break
			}
		}
	}
}
INFO