package main import ( "fmt" ) func main() { var s []int t := []int{} u := make([]string, 5) v := make([]string, 0, 5) fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(s), cap(s), s, s == nil) fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(t), cap(t), t, t == nil) fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(u), cap(u), u, u == nil) fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(v), cap(v), v, v == nil) s = append(s, 1, 1) fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(s), cap(s), s, s == nil) fmt.Println("*****************************") fmt.Println("*****************************") fmt.Println("*****************************") fmt.Println("*****************************") fmt.Println("*****************************") a := [...]int{1, 2, 3} b := a[:1] c := b[:2] fmt.Printf("a[%p] = %v\n", &a, a) fmt.Printf("b[%p] = %[1]v\n", b) fmt.Printf("c[%p] = %[1]v\n", c) }