52 lines
1014 B
Go
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")
|
|
// }
|
|
}
|