go_study/src/c6_slice_test/slice_test.go
2023-03-01 11:23:26 +08:00

52 lines
1014 B
Go

package slice_test
import "testing"
// 切片定义
func TestSlienceInit(t *testing.T) {
var s0 []int
t.Log(len(s0), cap(s0))
s0 = append(s0, 1)
t.Log(len(s0), cap(s0))
s1 := []int{1, 2, 3, 4}
t.Log(len(s1), cap(s1))
s2 := make([]int, 3, 5)
t.Log(len(s2), cap(s2))
t.Log(s2[0], s2[1], s2[2])
s2 = append(s2, 4)
t.Log(len(s2), cap(s2))
t.Log(s2[0], s2[1], s2[2], s2[3])
}
// 切片增长演示
func TestSliceGrowing(t *testing.T) {
s := []int{}
for i := 0; i < 10; i++ {
s = append(s, i)
t.Log(len(s), cap(s))
}
}
// 切片的共享内存 演示
func TestSliceShareMemory(t *testing.T) {
letter := []string{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "L"}
letter2 := letter[3:6]
t.Log(letter2, len(letter2), cap(letter2))
l3 := letter[5:8]
t.Log(l3, len(l3), cap(l3))
l3[0] = "U"
t.Log(letter2)
t.Log(letter)
}
// 切片不能比较
func TestSliceCompare(t *testing.T) {
// a := []int{1, 2, 3, 4}
// b := []int{1, 2, 3, 4}
// if a == b {
// t.Log("equals")
// }
}