github.com/nibnait/go-learn@v0.0.0-20220227013611-dfa47ea6d2da/src/test/chapter/ch1/08_slice_test.go (about) 1 package ch1 2 3 import "testing" 4 5 // 可变长数组 6 func TestSliceInit(t *testing.T) { 7 var s0 []int 8 t.Log(len(s0), cap(s0)) 9 10 s0 = append(s0, 1) 11 t.Log(len(s0), cap(s0)) 12 13 s1 := []int{1, 2, 3, 4} 14 t.Log(len(s1), cap(s1)) 15 16 s2 := make([]int, 3, 5) 17 t.Log(len(s2), cap(s2)) 18 //t.Log(s2[0], s2[1], s2[2], s2[3], s2[4]) 19 t.Log(s2[0], s2[1], s2[2]) 20 s2 = append(s2, 1) 21 t.Log(s2[0], s2[1], s2[2], s2[3]) 22 t.Log(len(s2), cap(s2)) 23 } 24 25 func TestSliceGrowing(t *testing.T) { 26 s := []int{} 27 for i := 0; i < 10; i++ { 28 s = append(s, i) 29 t.Log(len(s), cap(s)) 30 } 31 } 32 33 func TestSliceShareMemory(t *testing.T) { 34 year := []string{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"} 35 36 Q2 := year[3:6] 37 t.Log(Q2, len(Q2), cap(Q2)) 38 39 summer := year[5:8] 40 t.Log(summer, len(summer), cap(summer)) 41 42 summer[0] = "Unknow" 43 t.Log(Q2) 44 t.Log(year) 45 } 46 47 //func TestSliceCompare(t *testing.T) { 48 // a := []int{1, 2, 3, 4} 49 // b := []int{1, 2, 3, 4} 50 // 51 // // slice can only be compared to nil 52 // if a == b { 53 // t.Log("a == b") 54 // } 55 //} 56 57 func TestSliceCompare(t *testing.T) { 58 a := []int{1, 2, 3, 4} 59 60 // slice can only be compared to nil 61 if a == nil { 62 t.Log("a == nil") 63 } 64 }