package main
import "fmt"
func main() {
var a []int
fmt.Println("len(a) = ", len(a))
fmt.Println("cap(a) = ", cap(a))
b := []int{1, 2, 3, 4, 5}
fmt.Println("len(b) = ", len(b))
fmt.Println("cap(b) = ", cap(b))
c := make([]int, 0, 8)
fmt.Println("len(c) = ", len(c))
fmt.Println("cap(c) = ", cap(c))
c = append(c, 1)
fmt.Println("len(c) = ", len(c))
fmt.Println("cap(c) = ", cap(c))
d := []int{1, 2}
e := append(d, 3)
fmt.Printf("d : %p, e : %p", d, e)
fmt.Println()
for i := 0; i < len(d); i++ {
fmt.Printf("c[%d} : %d, ", i, d[i])
}
fmt.Println()
fmt.Println("len(d) : ", len(d), ", cap(d) : ", cap(d))
fmt.Println()
for i := 0; i < len(e); i++ {
fmt.Printf("e[%d] : %d, ", i, e[i])
}
fmt.Println()
fmt.Println("len(e) : ", len(e), ", cap(e) : ", cap(e))
fmt.Println()
f := make([]int, 2, 4)
g := append(f, 1)
fmt.Printf("%p %p\n", f, g)
f[0] = 1
f[1] = 2
fmt.Println(f)
fmt.Println(g)
g[0] = 4
g[1] = 5
fmt.Println(f)
fmt.Println(g)
}