How to use the Append function in Golang
Function: add elements at the end of the original slice
package main //There must be a main package
import "fmt"
func main() {
s1 := []int{}
fmt.Printf("len = %d, cap = %d\n", len(s1), cap(s1))
fmt.Println("s1 = ", s1)
//Add elements at the end of the original slice
s1 = append(s1, 1)
s1 = append(s1, 2)
s1 = append(s1, 3)
fmt.Printf("len = %d, cap = %d\n", len(s1), cap(s1))
fmt.Println("s1 = ", s1)
s2 := []int{1, 2, 3}
fmt.Println("s2 = ", s2)
s2 = append(s2, 5)
s2 = append(s2, 5)
s2 = append(s2, 5)
fmt.Println("s2 = ", s2)
}
Results of the
len = 0, cap = 0
s1 = []
len = 3, cap = 4
s1 = [1 2 3]
s2 = [1 2 3]
s2 = [1 2 3 5 5 5]
package main
func main() {
s := []int{}; println(cap(s)) // 0
s = appendN(s, 1); println(cap(s)) // 2
s = appendN(s, 2); println(cap(s)) // 4
s = appendN(s, 4); println(cap(s)) // 8
s = appendN(s, 8); println(cap(s)) // 16
s = appendN(s, 16); println(cap(s)) // 32
s = appendN(s, 32); println(cap(s)) // 64
s = appendN(s, 64); println(cap(s)) // 128
s = []int{1,2,3}; println(cap(s)) // 3
s = appendN(s, 2); println(cap(s)) // 8
}
func appendN(s []int, n int) []int {
for i := 0; i < n; i++ {
s = append(s, 0)
}
return s
}